• 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

  • 相关阅读:
    [转载] $CF652B$ 题解
    [转载] $Luogu$ $P4951$ 题解
    luoguP3723 HNOI2017 礼物
    动态dp学习笔记
    noip级别模板小复习
    noip2017简要题解。
    noip考前抱佛脚 数论小总结
    HDU 6071 Lazy Running
    POI2012 ODL-Distance
    [NOI2002]荒岛野人
  • 原文地址:https://www.cnblogs.com/yokoboy/p/2608165.html
Copyright © 2020-2023  润新知