public class EnumTest {
public static void main(String[] args) {
WeekDay weekDay = WeekDay.FRI;
System.out.println(weekDay);
System.out.println(weekDay.name()); //注意.name()
//此方法只会输出FRI位于第几个,从0开始,不像C语言一样值是递增的
System.out.println(weekDay.ordinal());//注意 .ordinal
System.out.println(WeekDay.valueOf("SUN").toString()); //注意valueOf()
System.out.println(WeekDay.values().length); //注意 values 方法
}
public enum WeekDay{
SUN(1),MON(),TUE,WED,THI,FRI(6),SAT;
//任何代码必须在上面各变量的后面,而且构造函数必须是private的
private WeekDay(){System.out.println("first");}
private WeekDay(int day){System.out.println("second");}
}
}
下面是另一个 enum,它带有一些其它方法:
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;}
}