枚举就是要让某个类型的变量取值只能为若干个固定值中的一个,否则,编译器就会报错。
枚举可以让编译器在编译是就可以控制源程序中填写的非法值,普通变量的方式在开发阶段
例如,你定义路路灯这个对象,就只希望它在红、黄、绿 之间选择
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;};
}
这样定义的时候在使用时
public static void main(String[]args){
TrafficLamp tl=TrafficLamp.Red;
System.out.println(tl.nextLamp());//调用对象方法
}注意: 枚举中的每一个元素都相当于该类的一个实例对象,如果向元素中写方法,则相当于写子类的方法, 每一个与元素必须继承父类的方法