原来曾看过枚举的视频,由于好长时间没有看,都忘了呢。再次复习一次。正好也写个笔记。
1 . 枚举就是一个类,枚举内部的元素就是枚举类的一个实例。
2. 枚举构造方法必须是私有的,如果有多个构造方法。在创建枚举的元素的时候可以指定构造方法方式是:在所对应元素的后面括号将参数传入,便可根据参数创建相应的枚 举类。
例如:
public enum WeekDay{
SUN(i),MON,TUE,WED,THI,FRI,SAT;
private WeekDay(){}
private WeekDay(int i){
System.out.println("second");
}
}
此时的SUN初始化时,就会调用WeekDay(int i)方法。其他的就会调用默认的无参构造方法。
3 . 枚举内部可以有abstract方法,但是在每个元素中要实现抽象方法。(枚举的每个元素就相当于是枚举类的实例变量,这里相当于是内部类)
public enum WeekDay{
SUN{
public WeekDaynextDay(){
return MON;
}
},
MON{
public WeekDaynextDay(){
return TUE;
}
},
TUE{
public WeekDaynextDay(){
return WED;
}
},
WED{
public WeekDaynextDay(){
return THI;
}
},
THI{
public WeekDaynextDay(){
return FRI;
}
},
FRI{
public WeekDaynextDay(){
return SAT;
}
},
SAT{
public WeekDaynextDay(){
return SUN;
}
};
public WeekDayabstract nextDay();
}