枚舉:
枚舉類: 實例有限而且固定的類,稱爲枚舉類
格式:
enumEnumSeason {
SPRING("SPRING"),SUMMER("SUMMER"),AUTUMN("AUTUMN"),WINTER("WINTER");
private final String name;
private EnumSeason(String name) {
this.name=name;
}
public String getName() {
return this.name;
}
}
注意:
1. 枚舉類的所有實例,必須列出於類中第一行位置,使用逗號(,)隔開,結尾使用分號(;)結束 (系統默認是 public static final修飾);
2. 使用enum關鍵字定義的枚舉類,都是繼承於java.lang.Enum類;
3. 枚舉類的構造器,只能使用private修飾;枚舉類的對象屬性不允許被改變,只能使用private final 修飾,且對象屬性的賦值應該在構造器中進行;
4. JDK1.5開始,枚舉也可以使用在switch語句中; (1.7可以使用String)
5. 若是枚舉只有一個實例,則可以作爲一個單例模式的實現方式;
6. 若是枚舉類顯式的定義了帶參數的構造器,則在列出枚舉值時,也必須對應的傳人蔘數;
7. 實現接口的枚舉類:
a) 枚舉類和普通類一樣是可以實現一個或多個接口的;
b) 若需要每個枚舉值在調用實現接口方法時呈現不同的行爲方式,則可以讓每個枚舉值分別來實現該方法:
8. 枚舉類的方法:
a) EnumSeason[ ] esArr = EnumSeason.values();//獲取EnumSeason的所有枚舉對象
b) EnumSeason es = EnumSeason.valueOf( “SPRING” ) ;//通過名稱來獲取對應的對象
c) System.out.println( es.ordinal() ); //求元素的順序,從0開始