----------------------android培训、java培训、期待与您交流! ---------------------
1.java5的静态导入与编译器语法设置
import 语句导入一个类或某个包中的所有类
import static 语句导入一个类中的某个静态方法或所有静态方法
新特性的使用,需要jdk1.5以上的版本。
ex: import static java.lang.Math.*;
2.可变参数 Variable Paramete
可变参数的特点:
a.只能出现在参数列表的最后;
b....位于变量类型和变量名之间,前后有无空格都可以;
c.调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。
public static int add(int x,int... args){
int sum = x;
/* for(int i=0;i
3.Java5增强for循环
注意事项:
1.迭代变量必须在()中定义!
2.集合变量可以是数组或实现了Iterable接口的集合类
语法:
for(type 变量名:集合变量名){...}
public static int add(int x,int ...args) {
int sum = x;
for(int arg:args) {
sum += arg;
}
return sum;
}
4.基本数据类型的自动拆箱与装箱
自动装箱:
Integer num1 = 12;
自动拆箱:
System.out.println(num1 + 12);
基本数据类型在装箱后,在一个字节内,-128~127,在内存中的常量池中存在。
//基本数据类型的对象缓存:
Integer num1 = 12;
Integer num2 = 12; // 这块相等,<=127都是真的
System.out.println(num1 == num2);
Integer num3 = 129;
Integer num4 = 129;
System.out.println(num3 == num4);//这块不相等,因为是对象
Integer num5 = Integer.valueOf(12);
Integer num6 = Integer.valueOf(12) ;
System.out.println(num5 == num6);//这块的道理同上
享元设计模式:
有很多小的对象,他们的属性相同,所以把他们变成同一个对象,那些不同的属性作为他们方法的参数,称为外部状态。那些相同的属性作为他们的内部状态。
5.枚举
import java.util.Date;
public class EnumTest {
public static void main(String[] args) {
WeekDay1 weekDay = WeekDay1.MON;
System.out.println(weekDay.nextDay());
WeekDay weekDay2 = WeekDay.FRI;
System.out.println(weekDay2);
System.out.println(weekDay2.name());
System.out.println(weekDay2.ordinal());
System.out.println(WeekDay.valueOf("SUN").toString());
System.out.println(WeekDay.values().length);
}
public enum WeekDay{
SUN,MON,TUE,WED,THI,FRI,SAT;//元素列表需要放在枚举类中的最前面,如果元素列表后面有其他方法或成员,元素列表之后要有;。
}
}
d.枚举类扩展
枚举类的实例对象个数是有限的,就是那些成员,可以在枚举类的构造方法中加入监控语句,看到这几个实例对象被创建出来的过程。
如果想在一个类中编写完各个枚举类和测试调用类,那么可以将枚举类定义成调用类的内部类。
import java.util.Date;
public class EnumTest {
public static void main(String[] args) {
WeekDay1 weekDay = WeekDay1.MON;
System.out.println(weekDay.nextDay());
WeekDay weekDay2 = WeekDay.FRI;
System.out.println(weekDay2);
System.out.println(weekDay2.name());
System.out.println(weekDay2.ordinal());
System.out.println(WeekDay.valueOf("SUN").toString());
System.out.println(WeekDay.values().length);
new Date(300){};
}
public enum WeekDay{
SUN(1),MON(),TUE,WED,THI,FRI,SAT;
private WeekDay(){System.out.println("first");}
private WeekDay(int day){System.out.println("second");}
}
public enum TrafficLamp{
RED(30){
public TrafficLamp nextLamp(){
return GREEN;
}
},
GREEN(45){
public TrafficLamp nextLamp(){
return YELLOW;
}
},
YELLOW(5){
public TrafficLamp nextLamp(){
return RED;
}
};
public abstract TrafficLamp nextLamp();
private int time;
private TrafficLamp(int time){this.time = time;}
}
}
枚举就相当于一个类,其中也可以定义构造方法,成员变量,普通方法和抽象方法。
-----------------------android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima