Java5.0新特性
1. 静态导入
用于程序简化对静态方法及属性的调用
语法:import static 包名.类名.属性|方法
例子:
Import static java.Lang.Math.*;
Import static java.lang.System.out;
静态导包不符合程序员习惯所以一般不被采用
2. 自动装箱/自动拆箱
自动装箱:指开发人员把一个基本数据类型直接赋值给对应的包装类
自动拆箱:指开发人员可以把一个包装类对象直接给对应的基本数据类型
3 增强for循环
引入原因:在java5.0以前,如果要遍历数组和集合,必须取得数组或集合的长度比较麻烦!所以引入增强for循环,减少判断长度.
增强for循环只能用在数组或实现Iterater接口的集合上
语法:
for(变量类型 : 需要迭代的数组或集合){
………….
}
注意:增强for循环只适合从数组或集合中取数据,但是如果要修改数组或集合只能使用传统方法.
4 可变参数
从jdk1.5开始java允许方法使用定义长度可变的参数,语法:
Public void fun(int … num){
}
数组类java.util.Arrays包中有方法用到可变参数
注意:
调用含有可变参数的方法时,编译器会自动创建一个数组保存传递给方法的参数,因此程序员可以在方法体中使用数组的形式访问可变参数.
可变参数只能处于参数列表的最后,所以一个方法只能有一个可变参数并且处于方法参数的最后.
5 枚举
枚举类特性:
1.枚举类也是一种java类;
2.枚举类汇声明的每一个枚举值代表一个枚举对象;
3.枚举类和普通类一样也可以定义属性,方法,构造方法,但是枚举类的构造方法必须是私有的(private);
4.枚举类也可以实现接口或继承抽象类;
5.JDK1.5中扩展了switch,swicth不只是可以使用byte.short.int.char外还可以接收一个枚举类型;
6.若枚举类只有一个枚举值,则可以当作单态模式使用
以前我们如果要定义一个不能通过new而创建的事例我们这样做
有枚举之后我们这样做就可以了
枚举的构造方法这样做
抽象方法的定义
枚举的常用方法
6 反射技术
一个类有多个成员组成部分,它包括,属性,方法,构造函数等等;反射的作用就是去加载类,并解剖出类的各个组成部分.
反射类一般应用在框架技术
用反射调用类的构造方法
我们一般给类实例化
Person p = new Person();
p.name; //调用属性
通过反射进行实例化一个参数
另一种无参反射
通过反射无参构造器对象实例化
通过反射多个参数构造器对象实例化
通过反射私有构造器