参考资料:
Java的枚举的基本应用(枚举的入门)
Public enum WeekDay{
SUN,MON,THE,WED,THU,FRI,SAT
}
枚举相当于一个类,而枚举类的一个值相当于该类的一个实例对象
如,可以把WeekDay看成一个类,SUN就是WeekDay的一个实体对象了。
枚举的方法:
WeekDay weekday = WeekDay.SUN;
weekday.name();//获取当前枚举对象的名称 ——SUN
weekday.ordinal();//获取当前对象在枚举中的序列,从0开始
WeekDay.valueOf(“FRI”); //把一个字符串转换为一个枚举的对象
WeekDay.valuds(); //获得枚举中所有的对象的值,返回一个数组,输出如下
for(WeekDay day:WeekDay.values()){
System.out.println(day);
}
实现带有构造方法的枚举
publc enum WeekDay{
SUN,MON(5),THE,WED,THU,FRI,SAT;
private WeekDay();
private WeekDay(int day);
}
构造方法必须是私有的,且放在所有枚举元素的后面。构造方法可带参数。
实现带有抽象方法的枚举
public enum TrafficLamp{
RED(30){ //子类调用父类带有一个参数的构造方法
public TrafficLamp nextLamp() {
//为了创建TrafficLamp的实例对象指向RED,先实现TrafficLamp的抽象方法。
return GREEN;
}},
GREEN(50){
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;}
}
//枚举交通灯TrafficLamp 的元素实例有3个:RED,GREEN,YELLOW.
//当枚举中只有一个元素的时候,它是单例模式。
|