•JDK1.5之後可以藉助enum關鍵字定義枚舉類型,文法結構如下:
[public] enum 枚舉名稱 [implements 介面列表] {
枚舉對象1[,枚舉對象2] [,…];
[成員變數1;]
[成員變數2;]
[…]
[(靜態或非靜態)代碼塊
[構造方法1]
[構造方法2]
[…]
[普通方法1]
[普通方法2]
[…]
[抽象方法1]
[抽象方法2]
[…]
}
public enum Color {RED(1, "紅色"), GREEN(2, "綠色"), BLUE(3, "藍色");private int value;private String label;private Color(int value, String label) {this.value = value;this.label = label;}public int getValue() {return value;}public String getLabel() {return label;}}
可以在直接在枚舉中定義抽象對象 此時每個枚舉對象需要實現該抽象方法,如下樣本
enum Color {RED {public String getLabel() {return "紅顏色";}},GREEN {public String getLabel() {return "綠顏色";}};public abstract String getLabel();}public class Test {public static void main(String[] args) {for (Color color : Color.values()) {String label = color.getLabel();System.out.println(label);}}}
•枚舉名詞.枚舉對像:擷取某個指定的枚舉對象,如下例:
static T[] values():擷取自訂枚舉中所有枚舉對象,如下例
•switch中可以使用枚舉類型,如下樣本:
•Enum類是一個抽象類別,該類是Java 語言枚舉類型的父類,即enum關鍵字自訂的枚舉類型相當於定義一個繼承java.lang.Enum抽象類別的子類。
•Enum類構造方法:
Øprotected Enum(String name, int ordinal) :該構造方法接收兩個參數,一個表示枚舉的名字,另外一個表示枚舉的序號;