1. 程式人生 > 其它 >列舉類enum

列舉類enum

作用:需要一組常量時使用enum類

定義列舉類:關鍵字enum與class,interface一樣

1:直接提供物件,多個物件之間逗號隔開,結尾使用分號,必須在第一行進行定義物件

2:宣告物件的屬性,private final 修飾

3:自定義構造器為屬性賦值

列舉類的常用方法:1: toString 列印物件 2:value 返回物件名稱的陣列3:valuesOf對於輸入的字元進行物件名稱匹配.

 1 /**
 2  * 一:列舉類的理解
 3  * Enum類:關鍵字:enum:當需要定義一組常量時使用列舉類
 4  * 二:如何定義列舉類
 5  * 方式一:jdk5.0之前的自定義方式 幾乎捨棄不用
6 * 方式二:jdk5.0時可以使用enum關鍵字使用列舉類,列舉類的例項物件必須在第一行定義,其次宣告物件的屬性 7 * 三:常用的方法 toString values valuesOf 8 * 四:enum類實現介面 9 */ 10 11 public enum EnumTest implements test {//使用enum關鍵字定義列舉類 12 //1:提供當前列舉類的物件,多個物件之間用逗號隔開,最後一個用分號 13 //不需使用new 關鍵字,不需顯式呼叫構造器。自動新增public static final修飾。 14 SPRING("春天", "
春暖花開"), 15 //1:建立物件作為常量出現 16 SUMMER("夏天", "夏日炎炎"); 17 private final String EnumName;//2:宣告物件的屬性 18 private final String EnumEsc; 19 20 EnumTest(String EnumName, String EnumEsc) {//3:自定義構造器 21 this.EnumName = EnumName; 22 this.EnumEsc = EnumEsc; 23 } 24 25 public
String getEnumName() { 26 return EnumName; 27 } 28 29 public String getEnumEsc() { 30 return EnumEsc; 31 } 32 33 @Override 34 public void show() { 35 if (this == SPRING) { 36 System.out.println("春天該很好"); 37 }else if (this==SUMMER){ 38 System.out.println("暑天該很好"); 39 } 40 } 41 } 42 43 44 class test3{ 45 public static void main(String[] args) { 46 EnumTest summer=EnumTest.SUMMER;//此物件是靜態物件可以直接通過類進行呼叫 47 EnumTest spring=EnumTest.SPRING; 48 //1:toString方法 49 System.out.println(summer.getEnumEsc()); 50 System.out.println(spring.getEnumEsc()); 51 //2:values方法:返回列舉型別的物件陣列,可以遍歷此陣列得到每個物件的物件名:都是靜態方法直接呼叫 52 EnumTest[]values=EnumTest.values();//可以省略不寫, 53 System.out.println(Arrays.toString(EnumTest.values()));//直接列印 54 //3:valuesOf方法:根據輸入的String字串返回一個同名的列舉物件,必須要有此物件,沒有的話會報錯 55 System.out.println(EnumTest.valueOf("SUMMER")); 56 // System.out.println(EnumTest.valueOf("HPP"));錯誤的寫法,沒有HPP物件 57 //4:實現介面,並實現其中的方法 58 spring.show(); 59 summer.show(); 60 } 61 } 62 63 interface test{ 64 void show(); 65 }