码迷,mamicode.com
首页 > 其他好文 > 详细

枚举类型的相关解析

时间:2016-05-05 00:29:41      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

首先创建枚举类型的类对象。

 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 }

 

枚举类型的相关解析

标签:

原文地址:http://www.cnblogs.com/lltse/p/5460298.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!