在Java中,枚舉(Enumeration)是一種特殊的類(lèi),用于表示一組固定的常量值。枚舉類(lèi)型的定義和使用如下:
使用關(guān)鍵字enum
來(lái)定義枚舉類(lèi)型,后跟枚舉類(lèi)型的名稱(chēng)。在枚舉類(lèi)型中,可以定義一些實(shí)例變量和構(gòu)造方法。例如,定義一個(gè)表示顏色的枚舉類(lèi)型:
public enum Color {
RED, GREEN, BLUE, YELLOW;
}
枚舉類(lèi)型的實(shí)例可以通過(guò)其名稱(chēng)直接訪問(wèn)。例如,獲取顏色枚舉中的紅色實(shí)例:
Color color = Color.RED;
可以在枚舉類(lèi)型中定義實(shí)例方法,這些方法可以在枚舉實(shí)例上調(diào)用。例如,為顏色枚舉定義一個(gè)方法,用于返回顏色的英文名稱(chēng):
public enum Color {
RED, GREEN, BLUE, YELLOW;
public String getEnglishName() {
switch (this) {
case RED:
return "Red";
case GREEN:
return "Green";
case BLUE:
return "Blue";
case YELLOW:
return "Yellow";
default:
return "";
}
}
}
枚舉類(lèi)型默認(rèn)有一個(gè)構(gòu)造方法,該構(gòu)造方法接受一個(gè)整數(shù)參數(shù),用于表示枚舉實(shí)例在枚舉常量列表中的位置。如果需要自定義枚舉構(gòu)造方法,可以在枚舉類(lèi)型中定義一個(gè)或多個(gè)構(gòu)造方法。例如,為顏色枚舉定義一個(gè)帶名稱(chēng)的構(gòu)造方法:
public enum Color {
RED("Red"), GREEN("Green"), BLUE("Blue"), YELLOW("Yellow");
private String name;
private Color(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
這樣,就可以通過(guò)名稱(chēng)創(chuàng)建顏色枚舉實(shí)例,并獲取其英文名稱(chēng):
Color color = Color.valueOf("RED");
System.out.println(color.getEnglishName()); // 輸出 "Red"