代碼如下:
public class test {
public static void main(String[] args) {
WeekDay w = WeekDay.MON;
System.out.println(w);//自己會(huì)調(diào)用tostring方法
System.out.println(w.ordinal());//打印是枚舉列表第幾個(gè)對(duì)象
System.out.println(WeekDay.values().length);//一共有多少個(gè)枚舉對(duì)象
}
public enum WeekDay{
SAT,MON,TUE,WED,THU,FRI,SAT,
private WeekDay(){
System.out.println("11");
}
private WeekDay(int a){
System.out.println("a");
}
}
}
首先上面定義一個(gè)簡(jiǎn)單的枚舉類WeekDay
該類中的sat,mon..等實(shí)際上就是weekday類的對(duì)象
注意:
枚舉類也有構(gòu)造方法,構(gòu)造方法必須是私有的;
通過下面代碼應(yīng)該就可以了解枚舉類型的使用了,要結(jié)合內(nèi)部類來(lái)理解
復(fù)制代碼代碼如下:
public enum TrefficLamp{
RED(30){//紅燈對(duì)象調(diào)用參數(shù)為int型的構(gòu)造方法,
public TrefficLamp nextLamp(){
return GREEN;
}
},
GREEN(20){
public TrefficLamp nextLamp(){
return YELLOW;
}
},
YELLOW(2){
public TrefficLamp nextLamp(){
return RED;
}
};
public abstract TrefficLamp nextLamp();
private int time;
private TrefficLamp(int time){
this.time = time;
};
}