------- android培训、java培训、期待与您交流! ----------
1. 如下代码,就是一个典型的枚举类型
(1)它有三个TrafficLamp实例RED、GREEN、YELLOW,这些枚举元素都必须放在枚举体中的最开始部分,枚举元素列表的最后要有分号与其他成员分隔,否则报错。
(2)构造方法必须私有
(3)//RED,GREEN,YELLOW;默认调用无参构造方法创建TrafficLamp的实例对象,根据参数列表来判断到底调用哪个构造方法
RED和RED()都是默认调用无参构造方法
(4)可以由枚举类的子类实例来重写枚举类中的抽象方法
(5)枚举只有一个成员时,就可以作为一种单例的实现方式
(6)比较两个枚举类型的值时,使用==
public enum TrafficLamp {
//RED,GREEN,YELLOW;
RED(45){ //默认调用父类TrafficLamp的有参构造方法
public TrafficLamp nextLamp(){
return GREEN;
}
},GREEN(15){
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;
}
public String toString(){
String name=null;
switch(this){
case RED:
name="红灯";
break;
case GREEN:
name="绿灯";
break;
case YELLOW:
name="黄灯";
}
return name;
}
}
public class TafficLampTest {
public static void main(String[] args) {
TrafficLamp tl=TrafficLamp.RED;
System.out.println(tl);
System.out.println(tl.name());
System.out.println(TrafficLamp.valueOf("RED"));
System.out.println(tl.ordinal());
System.out.println(tl.values().length);
}
}
上面是一个比较全面典型的枚举类,要掌握。