黑马学习日记9

来源:互联网 发布:淘宝警察钱包 编辑:程序博客网 时间:2024/05/24 06:00

黑马程序员-java高新技术

------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------

1、静态导入

语法:impoort static包名.类名.*

注意:针对一个给定的包,不可能用一行语句静态地导入包中所有类的所有类方法和类变量。

如果一个本地方法和一个静态导入方法有着相同的名字,则本地方法被调用,如果静态导入两个中同名的类变量或类方法以,则必须通过对象或类名使用类变量、类方法。

可变参数函数

语法:函数修饰符返回类型函数名(参数类型...参数名){}

例如:public int add(int x,int y,int…z){}

注意:可变参数只能位于参数列表的最后。

加强for循环

格式:for(type变量名:集合变量名){}

基本数据的拆、装箱操作

在面向对象的语法中,处理的对象一般都是对象。但是基本数据类型却不是对象,既用int、double和boolean等定义的变量都不是对象,在以前的版本中,为了解决基本数据类型转换为对象的问题,出现了打包类型。为了方便基本数据类型与对对象间的转换,在最新的版本中出了基本数据的自动拆,装箱操作。

Integerdatal1=new Integer(10);//实现int类型转换对对象方式

Integer datal2=Integer.valueOf(10);//实现int类型转换对对象方式

Integer datal3=20;//通过自动装箱方式实现int类型转换对对象方式

注意:当通过自动装箱方式返回同一数值的对象时如果该数值在-128~127之间,返回的对象会引用同一个对象。否则相反。

枚举

以前都是使用public static final修饰常量。为了让程序员能够抛弃这种常量,于是就出现了Enum语法。

Public enum WeekDay{ //定义了星期的枚举

SUN,MON,TUE,WED,THU,FN,SAT

}

带有构造函数的枚举

publicenum WeekDay{

SUN,MON,TUE,WED,THU,FN("星期五"),SAT();

private WeekDay(){

System.out.println("没有参数构造函数");

}

private WeekDay(String s){

System.out.println(s+"有参数构造函数");

}

}

对于枚举构造函数,必须放在枚举常量的后面,同时构造函数的修饰符必须是private。枚举类型的自定义构造函数不能覆盖默认执行的构造函数,只会在其后运行。

反射-Class类

Class实例代表内存中的一份字节码,所谓字节码就是当Java虚拟机加载某个类的对象时,首先需要把硬盘上该类的二进制源码编译成Class文件的二进制代码(字节码),然后把文件的字节码加载到内存中,之后现创建该类的对象。

获取Class对象,既相应类的字节码。

获取类的方法:

类.getClass();

Class.forName(“类”);

类.Class

反射的基本应用

反射一般会涉及如下类:Class(表示一个类的类)、Field(表示属性的类)、Method(表示方法的类和Constrctor(表示类的构造方法的类)。

Class类位于java.lang包中,而后面3个类都位于java.lang.reflect包中。

构造方法的反射

//先通过String.class获取String类的字节码,然后再通过String.class.getConstructor()方法

//获取String类的构造函数。

Constructor cs=String.class.getConstructor(StringBuffer.class);

//在Constructor类中存在一个newInstance()方法,用来利用构造函数创建一个实例

//对象。该方法的参数类型必须与获取构造函数的参数类型相同。

String str=(String)cs.newInstance(new StringBuffer("gouzhao"));

//成员字段的反射

import java.lang.reflect.Field;

publicclass FieldRef {

publicstaticvoid main(String[] args)throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException {

  Student st=new Student("lisi",20);

//获取类中的类字段

Field fieldString=st.getClass().getField("name");

//获取对象中的值只能获取公有字段

System.out.println("输出public属性字段"+fieldString.get(st));

//获取私有字段的值,称暴力反射

Field fieldAge=st.getClass().getDeclaredField("age");

//改变类字段的属性

fieldAge.setAccessible(true);

System.out.println("输出private属性字段"+fieldAge.get(st));

}

}

class Student{

public Stringname;

privateintage;

public Student(String name,int age)

{

super();

this.name=name;

this.age=age;

}

}

成员方法的反射

String str="abcdref";

//获取String类中参数为int的charAt()方法

Method methodChatAt=String.class.getMethod("charAt",int.class);

//对象str调用charAt()方法

System.out.println("str的第二个字母是:"+methodChatAt.invoke(str, 1));

System.out.println("str的第二个字母是:"+methodChatAt.invoke(str,new Object[]{1}));

泛型:

提供一个安全机制

好处:1、将运行时期出现的问题转移到了编译时期。

2、避免了强制转换的麻烦。

格式:通过<>的形式接收指定的类型。

泛型类。泛型定义在类上,在new对象的时候传入具体类型,该类型作用于整个类。

泛型方法。泛型定义在方法上,该泛型只在方法上有效。

泛型既定义在类上又定义在方法上。

注意:当方法被静态修饰时,静态不可以访问类上定义的泛型,而且在静态方法上定义泛型时,泛型只能定义在static关键字之后。

泛型的限定

通配符:?可以对类型进行限定范围。

?estends E:接收E类型或者E的子类型。

? super E:接收E类型或者E的父类型。


    ------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 用百度云上传视频文件太慢了怎么办 网易云音乐云盘电脑上传很慢怎么办 路由器的宽带账号密码忘记了怎么办 蚂蚁邦路由器管理密码忘记了怎么办 红米2a刷机失败怎么办 小米手机开机图案锁忘记了怎么办 小米6进水无限闪屏开机重启怎么办 红米手机一直卡在开机画面怎么办 红米4卡在开机画面怎么办 红米手机一直在开机画面怎么办 红米手机一直跳开机画面怎么办 红米note3锁屏密码忘记怎么办 红米手机忘记锁屏密码怎么办 红米4锁屏密码忘了怎么办 红米note忘记锁屏密码怎么办 红米note2锁屏密码忘了怎么办 机打发票抬头名字少写一个字怎么办 卷式发票名字写错了怎么办 发票丢失了销售方不给补手续怎么办 总是把单词归不成句孑怎么办 白色踏板摩托车把漆刮了怎么办 苹果手机用流量缓冲很难怎么办 谷歌浏览器安卓手机版打不开怎么办 怀孕四个月检查高型半氨酸高怎么办 猎豹cs9怎么打不开车门怎么办 孩子在学校被老师冤枉打板子怎么办 么司福利体检暗地查乙肝怎么办 上体育课时被老师罚了腿疼怎么办 义务兵学技术不好班长打他怎么办 耳朵被打了一巴掌听不见了怎么办 耳朵被打了一巴掌后有点闷怎么办 山东省教育云平台密码戳完怎么办 被舍友知道发朋友圈说她们了怎么办 苍蝇药水进眼里了眼睛疼怎么办 三十六周了胎儿还没有入骨盆怎么办 怀孕40周了宝宝还没反应怎么办 程序员不知道自己犯法了怎么办啊 大学档案学年测评有涂改痕迹怎么办 驼背怎么办要能快速矫正的方法 手臂往后扭后手臂根部疼又肿怎么办 一岁四个月宝宝有点斜颈怎么办?