------- android培训、java培训、期待与您交流! ----------
6月12日上午
编写代码的JDK版本要和编译代码的JDK版本一致。
装箱和拆箱的操作是方便数据类型之间的转换,比如int类型要转换成string类型,就要通过包装类integer实现 例如:int a = 3; String a = integer.toString(a); 要先把int类型装箱到integer包装类里面,然后通过integer包装类进行转换,其他类型同理。
享元模式(flyweight):许多小的对象因为有许多相同的属性,把相同的属性变成一个对象(内部状态),把不同的属性变成方法的参数(外部状态)。
枚举就是类调用对象是静态的列举出来的对象,而不是动态生成的对象。要内部类里面的每个枚举对象自己完成方法,而不是交给父类统一完成,这样有一个好处,就是调用内部类的时候,指向哪个对象,就运算哪个对象的方法,而不用每次都调用父类庞大的if else做判断,提高效率。张老师是这么写的“采用抽象类定义nextDay就将大量的if.else语句转换成一个个独立的类。”
/* 枚举也可以象一般的类一样添加方法和属性,你可以为它添加静态和非静态的属性或方法,这一切都象你在一般的类中做的那样. */
/*还可以有构造方法,但是构造方法必须是私有的即用private修饰*/
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”);
}
}
枚举有java自带的方法,枚举有一些自带的方法:.name显示类名,.ordinal显示该枚举元素顺序位置。
希望枚举对象调用不同的构造方法,就要改造枚举对象为对应构造方法的参数形式。
当枚举的类里面只有一个成员对象的时候,可以作为一个单例模式的类来实现。