JAVA中枚举类型(Enum)的使用解析

    技术2022-07-11  118

    枚举类型的对象是有限、固定的几个常量对象。例如季节,只有春夏秋冬。如果你创建了一个season类,你当然有义务维护这个类的实例对象只能是春(SPRING)、夏(SUMMER)、秋(AUTUMN)、冬(WINTER)这四个。或者员工的状态如只有休假,空闲,忙碌这几个。这个时候就体现出枚举类的作用了,java中枚举类型就是针对这样的场景需求所设计的。

    /** * 枚举类的后缀建议为Enum,枚举类型的实例对象建议全大写(这样做符合JAVA的规范) */ public enum SeasonEnum{ SPRING,SUMMER,AUTUMN,WINTER }

    语法格式

    //形式一:枚举类型中只有常量对象列表 【修饰符】 enum 枚举类型名{ 常量对象列表 } //形式二:枚举类型中只有常量对象列表 【修饰符】 enum 枚举类型名{ 常量对象列表; 其他成员列表; }

    枚举常量对象列表必须在枚举类型的首行

    在其他类中如何获取枚举的常量对象 //获取一个常量对象 枚举类型名.常量对象名 //获取一个常量对象 枚举类型名.valueOf("常量对象名") //获取所有常量对象 枚举类型名[] all = 枚举类型名.values(); 枚举类型的特点

    (1)枚举类型有一个公共的基本的父类,是java.lang.Enum类型,所以不能再继承别的类型

    (2)枚举类型的构造器必须是私有的

    (3)枚举类型可以实现接口

    interface MyRunnable{ void run(); } enum Gender implements MyRunnable{ NAN,NV; public void run(){ //... } } //或 enum Gender implements MyRunnable{ NAN{ public void run(){ //... } },NV{ public void run(){ //... } }; } 父类java.lang.Enum类型

    (1)构造器

    protected Enum(String name, int ordinal):由编译器自动调用

    (2)String name():常量对象名

    (3)int ordinal():返回常量对象的序号,第一个的序号是0

    (4)String toString():返回常量对象名,如果子类想重写,需要手动

    (5)int compareTo(Object obj):按照常量对象的顺序比较

    Processed: 0.008, SQL: 9