好处
- 类型安全,业务明确
定义格式
特点
- 是一种特殊的类,可以定义构造器、成员变量、普通方法和抽象方法
- 枚举类隐式继承了 java.lang.Enum 类,但不能显式继承其它父类
- 枚举类的所有实例必须在枚举类的第一行显式列出;列出这些实例时,系统会默认使用 修饰(全局静态常量);枚举值列举结束后以 作为结束
- 枚举实例后有花括号时,该枚举实例是枚举类匿名内部子类的对象
使用
- 使用该枚举类的某个实例:EnumClass.variable
-
- String name():返回该枚举实例的常量名称
- int ordinal():返回该枚举值在枚举类中的索引,从 0 开始
- boolean equals(Object other) :当指定对象等于此枚举常量时,返回 true
- 枚举类默认提供的类方法(从反编译代码中)
-
- switch 的控制表达式可以是枚举类型变量;case 表达式中的值直接使用枚举值的名字,即无须添加枚举类作为限定
- 底层调用枚举对象的 ordinal() 方法,而该方法的返回值类型是 int 类型
- 使用枚举做单例模式