---------------------------------------------------------------- android培训、java培训、期待与您交流! ----------------------------------------------------------------------------------------
一自动装箱与拆箱
java 1.5版本新特性,将基本数据类型包装为响应的类。如:Integer i=3; 则把int 型数据3封装为Integer 对象,这就是自动装箱。
自动拆箱: 将基本数据类型对应的对象变成基本数据类型再与基本数据运算,如: int x=i+2; 则先把i拆成基本类型,再与2相加。
二,枚举
(1)即类中封装了几个固定的对象。
(2)枚举中的构造方法必须是私有的,只能在枚举内部创建对象;
(3)带抽象方法的枚举,在枚举内写对象时,用内部类的方式创建,并且还可以传参数;
(4)当用到单例模式时,可以用枚举。
枚举使用举例:
public class EnumTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
WeekDay weekday=WeekDay.MON;
// System.out.println(weekday.ordinal());
// System.out.println(weekday.name());
// System.out.println(WeekDay.valueOf("SUN"));
// System.out.println(WeekDay.values().length);
}
//普通枚举,枚举中的构造方法必须是私有的,不让外部创造对象
public enum WeekDay{
SUN(1),MON,TUS,WED,THU,FRI,STA;
private WeekDay(){
System.out.println("first");
}
private WeekDay(int x){
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培训、期待与您交流! ----------------------------------------------------------------------------------------