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