---------------------- android培训、java培训、期待与您交流! ----------------------
枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错。枚举可以让编译器在编译时就可以控制源程序中填写的非法值.
实现抽象的next方法:每个元素分别是由枚举类的子类来生成的实例对象,这些子类采用类似内部类的方式进行定义。
例如:
public enum TrafficLamp//枚举 相当于一个类{
//枚举中的每个元素相当实例对象
RED(30)枚举的构造方法只是在构造枚举值的时候被调用{
public TrafficLamp nextLamp(){
return GREEN;
}
},
GREEN(50){
public TrafficLamp nextLamp(){
return YELLOW;
}
},
YELLOW(3){
public TrafficLamp nextLamp(){
return RED;
}
};//如果枚举的元素列表后添加了方法或者其它内容,要在最后一个元素后加上分号
public abstract TrafficLamp nextLamp();
private int time;
//枚举类的构造方法只能是private的,即使不用private修饰,也会自动默认为private的。构造方法必须位于元素列表之后
private TrafficLamp(int time){this.time = time;}
}
注:枚举中只有一个成员时,可以作为一种单例的实现方式。
总结的几点:
枚举enum很像是一个特殊的类,而这些类都是类库中Enum类的子类 (java.lang.Enum<E>) 它们继承了这个Enum中的方法
RED,GREEN,YELLOW这些枚举值都是TrafficLamp的类对象(类实例)
枚举值都会定义成public static final的,同于我们通常定义常量的方式,因此枚举类中的枚举值最好全部大写
---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.youkuaiyun.com/heima
204

被折叠的 条评论
为什么被折叠?



