笔记:枚举类型

枚举类型的定义格式如:

public enum Size{ SMALL,MEDIUM,LARGE,EXTRA_LARGE}

   

实际上,这个声明定义了一个类 size,该类是一个特殊的类,可以定义自己的数据字段、方法、可以实现接口,也可以定义自己的构造器。但枚举类使用 enum 定义后在编译后默认继承了 java.lang.Enum 类,而不是普通的继承 Object类。Enum 声明类继承了 Serializable Comparable 两个接口。且采用 enum 声明后,该类会被编译器加上 final 声明(同 String),故该类是无法继承的。枚举类的内部定义的枚举值就是该类的实例(且必须在第一行定义,当类初始化时,这些枚举值会被实例化)。由于这些枚举值的实例化是在类初始化阶段,所以应该将枚举类的构造器(如果存在),采用 private 声明(这种情况下默认也是 private),示例代码如下:

public enum Size {

    // 第一行必须定义枚举常量

    SMALL("小号"),MEDIUM("中号"),LARGE("大号"),EXTRA_LARGE("超大号");

      

    private String desc;

    private Size(String desc) {

        this.setDesc(desc);

    }

   

    public String getDesc() {

        return desc;

    }

   

    private void setDesc(String desc) {

        this.desc = desc;

    }

}

posted @ 2017-04-25 22:16  立3807  阅读(142)  评论(0编辑  收藏  举报