Enum 枚举
通过一个类封装一组固定不变的元素
调用枚举元素在编译时检查,不是枚举中定义的元素,编译报错。
Enum类不能在继承任何类,定义是默认继承枚举父类,只能实现接口。
第一行定义固定元素 例如 元素一,元素二,元素三,...;
第二行才可以定义属性、方法、构造器。构造器只能私有
元素后面可以跟参数和匿名类 如 元素(参数){ 匿名类方法体 }
===================信号灯练习======================
/*
* 定义三种颜色,每个颜色定义匿名类实现Lamp的抽象方法,返回下一个灯色。
*/
public enum Lamp {
RED{
public Lamp next(){
return GREEN;
}
},GREEN{
public Lamp next(){
return YELLOW;
}
},YELLOW{
public Lamp next(){
return RED;
}
};
public abstract Lamp next();
}
======================星期天练习=====================
/*
* 定义星期日-星期一,然后创建内部方法,实现下一天是星期几
*/
public enum WeekDay {
SUN("MON"),MON("TUE"),TUE("WED"),WED("THU"),THU("FRI"),FRI("SAT"),SAT("SUN");
private String nextday;
private WeekDay(String nextday){
this.nextday = nextday;
}
public WeekDay nextDay(){
return WeekDay.valueOf(nextday);
}
}
|
|