java中的枚舉是什么?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
枚舉是Java1.5引入的新特性,通過關鍵字enum來定義枚舉類。枚舉類是一種特殊類,它和普通類一樣可以使用構造器、定義成員變量和方法,也能實現一個或多個接口,但枚舉類不能繼承其他類。
創建枚舉類型要使用enum關鍵字,隱含了所創建的類型都是java.lang.Enum類的子類(java.lang.Enum是一個抽象類)。
枚舉類型符合通用模式Class Enum<E extends Enum<E>>,而E表示枚舉類型的名稱。
枚舉類型的每一個值都映射到protected Enum(String name,int ordinal)構造函數中,在這里,每個值的名稱都轉換成一個字符串,并且序數設置表示了此設置被創建的順序。
枚舉的使用:
創建一個枚舉類:EnumTest
public enum EnumTest {
//星期一,星期二,星期三,星期四,星期五,星期六
MON(1), TUE(2),WED(3),THU(4),FRI(5),SAT(6){
public boolean isRest(){
return true;
}
},
//星期日
SUN(0){
public boolean isRest(){
return true;
}
};
private int value;
private EnumTest(int value){
this.value=value;
}
public int getValue(){
return value;
}
public boolean isRest(){
return false;
}
}使用EnumTest枚舉類:
public class EnumMain {
public static void main(String[] args) {
for (EnumTest enumTest : EnumTest.values()) {
System.out.println(enumTest + ":" + enumTest.getValue());
}
System.out.println("---------------我是分割線------------");
EnumTest test = EnumTest.SAT;
switch (test) {
case MON:
System.out.println("今天是星期一");
break;
case TUE:
System.out.println("今天是星期二");
break;
case WED:
System.out.println("今天是星期三");
break;
case THU:
System.out.println("今天是星期四");
break;
case FRI:
System.out.println("今天是星期五");
break;
case SAT:
System.out.println("今天是星期六");
break;
case SUN:
System.out.println("今天是星期日");
break;
default:
System.out.println(test);
break;
}
}
}每一個枚舉類型極其定義的枚舉變量在JVM中都是唯一的,這句話的意思是枚舉類型它擁有的實例在編寫的時候,就已經確定下,不能通過其他手段進行創建,且枚舉變量在jvm有且只有一個對應的實例。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。