枚举的出现其实就是要设置特定的对象,不能随意赋值,因此,单例就是一种枚举的表现形式。
ok,先从简单的看起
public enum Day {
MON,TUS,WED; //注意一定要让枚举的实例出现在第一行
private Day(){} //构造方法私有
}
很简单吧,再看复杂一点的,有抽象方法的,构造方法带有参数的
public enum TrafficLamp {
RED(15){
public TrafficLamp nextLamp(){
return GREEN;
}
},GREEN(15){
public TrafficLamp nextLamp(){
return YELLOW;
}
},YELLOW(10){
public TrafficLamp nextLamp(){
return RED;
}
};
private int time;
private TrafficLamp(int time){this.time = time}
public abstact TrafficLamp nextLamp();
}