JDK 1.5 新特性——枚举

 1 class MyEnum {
 2 
 3     private MyEnum() {
 4     }
 5 
 6     public static final MyEnum e1 = new MyEnum();
 7     public static final MyEnum e2 = new MyEnum();
 8     public static final MyEnum e3 = new MyEnum();
 9 }
10 
11 public class LikeEnum {
12 
13     public static void main(String[] args) {
14         // MyEnum myEnum=new MyEnum();//报错 ,不能创建对象
15         System.out.println(MyEnum.e1);//不能从外部创建对象,只能使用内部已经常见的对象这就是枚举的原型,提高了程序的安全性
16     }
17 }

  1.5以后为了简化代码的书写,出现了枚举,枚举也是C语言里面的东西,比如使用星期的时候,如果把1~7定义成枚举,

如果程序中使用1~7以外的数字就会报错,提高程序的安全性。

public enum MyColor{ Red, Yellow, Blue };

  

  这里面的Red, Yellow, Blue都是MyColor的对象,MyColor实质上是一个类,所以可以把它按照一个类来处理。

枚举示例
 1 public class Homework {
 2 
 3     enum Weeks {
 4         MON() {
 5             @Override
 6             public String toString() {
 7                 return "星期一";
 8             }
 9 
10             @Override
11             public String getName() {
12                 return "星期一";
13             }
14 
15         },
16         TUE {
17             @Override
18             public String getName() {
19                 return "星期二";
20             }
21         },
22         WED {
23             @Override
24             public String getName() {
25                 return "星期三";
26             }
27         },
28         THU {
29             @Override
30             public String getName() {
31                 return "星期四";
32             }
33         },
34         FRI {
35             @Override
36             public String getName() {
37                 return "星期五";
38             }
39         },
40         SAT {
41             @Override
42             public String getName() {
43                 return "星期六";
44             }
45         },
46         SUN {
47             @Override
48             public String getName() {
49                 return "星期日";
50             }
51         };
52         public abstract String getName();
53     }
54 
55     /**
56      * @author yokoboy
57      */
58     public static void main(String[] args) {
59         System.out.println(Weeks.MON.getName());
60         System.out.println(Weeks.FRI.ordinal());
61 
62     }
63 }

转载请注明出处:

博客园_yokoboy

http://www.cnblogs.com/yokoboy/archive/2012/07/25/2608165.html

原文地址:https://www.cnblogs.com/yokoboy/p/2608165.html