------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
JDK1.5的新特性有哪些?
(1)什么是静态导入?
就是导入类下面的静态方法,当调用此静态方法的时候,不用再写类名
importstatic java.lang.Math.*;//静态导入
System.out.println(max(3, 6));//Math.max(3,6)可写成max(3,6)
System.out.println(abs(3 - 6));
(2)可变参数
问题:一个方法接受的参数个数不固定,
例如:System.out.println(add(1,3, 5,1));
特点:1,只能出现在参数列表的最后
2,调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,
在方法体中以数组的形式访问可变参数。
(3)增强for循环
格式:For(type 变量名:集合变量名){…}
注意:集合变量可以是数组或实现了Iterable接口集合类。
(4)基本数据类型的拆箱与装箱
自动装箱:Integer num=3;
自动拆箱:System.out.println(num+3);
(5)枚举
枚举的作用:就是要某个类型变量的取值只能为若干个固定值中的一个,否者编译器就会报错。假设用1-7分别表示星期一到星期日,如果写成int weekday=0;就会报错。
简单的应用:
public static void main(String[] args) {
WeekDayweekday1=WeekDay.MON;
System.out.println(weekday1);//jdk为枚举提供了toString方法
}
public enum WeekDay{
SUN,MON,TUE,WEN,THU,FRI,SAT//这些都是对象
}
复杂枚举的应用:
//枚举只有一个成员时,就可以作为一种单里的实现方式
public enum TrafficLamp{
//类的静态常量指向这个类型的实例对象
RED(30) {//new子类的实例对象,并且调用父类的有参的构造方法,
//然后使用RED引用名称去引用这个对象
@Override
public TrafficLamp nextLamp() {
// TODO Auto-generatedmethod stub
returnGREEN;
}
},
GREEN (45){
@Override
publicTrafficLampnextLamp() {
// TODO Auto-generatedmethod stub
returnYELLOW;
}
},
YELLOW(5){
@Override
public TrafficLamp nextLamp() {
// TODO Auto-generatedmethod stub
returnRED;
}
}
;
public abstract TrafficLamp nextLamp();//类中的方法可以返回类的实例对象
private int time;
private TrafficLamp(int time){this.time=time;}//带有时间参数的构造方法
}