首先建立枚舉類型的類對象。數組
1 package lltse.base.enumdemo; 2 3 public enum LevelEnum 4 { 5 //建立枚舉對象,調用有參構造函數實例化 6 PERFECT("優秀") 7 { 8 //實現抽象方法 9 public int getNum() 10 { 11 return 5; 12 } 13 }, 14 GOOD("良好") 15 { 16 //實現抽象方法 17 public int getNum() 18 { 19 return 4; 20 } 21 }, 22 MID("中等") 23 { 24 //實現抽象方法 25 public int getNum() 26 { 27 return 3; 28 } 29 }, 30 PASS("及格") 31 { 32 //實現抽象方法 33 public int getNum() 34 { 35 return 2; 36 } 37 }, 38 NOPASS("不及格") 39 { 40 //實現抽象方法 41 public int getNum() 42 { 43 return 1; 44 } 45 }; 46 47 private String name; 48 49 //枚舉無參構造函數 50 private LevelEnum() 51 { 52 } 53 54 //枚舉有參構造函數 55 private LevelEnum(String name) 56 { 57 this.name = name; 58 } 59 60 61 public String getName() 62 { 63 return name; 64 } 65 66 //枚舉抽象方法定義,要求建立對象的子類都須要實現該方法 67 public abstract int getNum(); 68 }
其次是枚舉類型的測試類函數
1 package lltse.base.enumdemo; 2 3 public class EnumDemo 4 { 5 6 public static void main(String args []) 7 { 8 testEnumLevel(LevelEnum.MID); 9 10 11 //返回枚舉常量的序數(它在枚舉聲明中的位置,其中初始常量序數爲零)。 12 LevelEnum level1 = LevelEnum.PERFECT; 13 System.out.println(""+level1.ordinal()); 14 15 //返回帶指定名稱的指定枚舉類型的枚舉常量 16 System.out.println(LevelEnum.valueOf("GOOD").getName()); 17 18 //獲取枚舉類型的數組 19 LevelEnum [] enums = LevelEnum.values(); 20 for(LevelEnum enum1 : enums) 21 { 22 System.out.println("name:>>>"+enum1.getName()+"num:>>>"+enum1.getNum()); 23 } 24 } 25 26 private static void testEnumLevel(LevelEnum level) 27 { 28 switch(level) 29 { 30 //此處可使用byte short int char enum 幾種數據類型 31 case PERFECT: 32 //此處調用枚舉的getName方法獲取枚舉名稱,返回枚舉常量的序數(它在枚舉聲明中的位置,其中初始常量序數爲零)。 33 System.out.println(""+level.getName()+">>>"+level.getNum()+"***"+level.ordinal()); 34 break; 35 case GOOD: 36 System.out.println(""+level.getName()+">>>"+level.getNum()); 37 break; 38 case MID: 39 System.out.println(""+level.getName()+">>>"+level.getNum()+"***"+level.ordinal()); 40 break; 41 case PASS: 42 System.out.println(""+level.getName()+">>>"+level.getNum()); 43 break; 44 case NOPASS: 45 System.out.println(""+level.getName()+">>>"+level.getNum()); 46 break; 47 default: 48 new RuntimeException("non"); 49 } 50 } 51 }