複製代碼 代碼如下:
public class test {
public static void main(String[] args) {
WeekDay w = WeekDay.MON;
System.out.println(w);//自己會調用tostring方法
System.out.println(w.ordinal());//列印是枚舉列表第幾個對象
System.out.println(WeekDay.values().length);//一共有多少個枚舉對象
}
public enum WeekDay{
SAT,MON,TUE,WED,THU,FRI,SAT,
private WeekDay(){
System.out.println("11");
}
private WeekDay(int a){
System.out.println("a");
}
}
}
首先上面定義一個簡單的枚舉類WeekDay
該類中的sat,mon..等實際上就是weekday類的對象
注意:
枚舉類也有構造方法,構造方法必須是私人的;
通過下面代碼應該就可以瞭解枚舉類型的使用了,要結合內部類來理解
複製代碼 代碼如下:
public enum TrefficLamp{
RED(30){//紅燈對象調用參數為int型的構造方法,
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;
};
}