.---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
jdk1.5 新特性:基本数据类型的自动拆箱与装箱
自动装箱: Integer nul = 12; 将基本类型的数据自动封装进Integer类中
自动拆箱: System.out.println(nu1+12); 将被封装成Integer的nul拆箱成基本数据后与基本数据类型运算。
基本数据类型的对象缓存
JDK 1.5 新特性:享元模式 小的对象相同属性变成一个对象(内部状态),不相同的变成方法参数(外部状态)。
装箱时数据在一个字节之内(-127~128)时,java会把装箱的数据缓存起来。在用时直接使用这个缓存起来的数据。
JDK 1.5 枚举:枚举就是让某个类型的变量和取值只能为若干个固定之中的一个。普通比那两的方式在开发中无法实现这一目标。
class WeeDay{
private WeekDay(){}
public final static WeekDay SUN =new WeekDay();
public final static WeekDay FAR =new WeekDay();
public final static WeekDay MON =new WeekDay();
punlic void nextDay(){
if(this == SUN)
return MON;
else if(this ==FAR){
retrun SUN;
else return FAR;
}
}
}
WeekDay weekDay= 1;//语句错误,因为已定义了一个枚举的类 固定了WeekDay的范围
抽象的枚举类可以用其对象的子类(内部类)去实现其具体的代码,省略if语句和。
实现带有抽象方法的枚举
package heimaLog;
public class EnumTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
WeekDay wd =WeekDay.FRI;
sop(wd);
sop(wd.ordinal());
}
public enum WeekDay{
SUN(1),MON,TUE,WEN,THI,FRI,SAT;
private WeekDay(){}
private WeekDay(int day){}
}
public static void sop(Object obj){
System.out.println(obj);
}
public enum TrafficLamp{
RED(){
public TrafficLamp nextLamp() {
// TODO Auto-generated method stub
return GREEN;
}
},
GREEN{
public TrafficLamp nextLamp() {
// TODO Auto-generated method stub
return YELLOW;
}
},
YELLOW{
public TrafficLamp nextLamp() {
// TODO Auto-generated method stub
return RED;
}
};
public abstract TrafficLamp nextLamp();
}
}
枚举只有一个成员时,就可以作为一种单例的实现方式。
------------------ <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
黑马程序员-jdk1.5新特性学习日记
最新推荐文章于 2015-10-20 10:56:48 发布