一、枚举类的使用

概述

JDK1.5之前需要自定义枚举类
JDK1.5新增的enum关键字用于定义枚举类

类的对象只有有限个的。如星期,性别,季节,支付方式,就职状态,订单状态,线程状态等
当需要定义一组常量时,建议使用枚举类(若枚举只有一个对象,则可以作为一种单例模式的实现方式。)

自定义枚举类

image.png
注意:
1.私有化类的构造器,保证不能在类的外部创建其对象
2.在类的内部创建枚举类的实例。声明为:publicstatic final
3.对象如果有实例变量,应该声明为private final,并在构造器中初始化

使用enum定义枚举类

使用说明:
1.enum 定义的枚举类默认继承了java.lang.Enum类,因此不能再
继承其他类
2.枚举类的构造器只能使用private 权限修饰符
3.枚举类的所有实例必须在枚举类中显式列出(,分隔 实例系统会自动添加publicstatic final 修饰
必须在枚举类的第一行声明枚举类对象
image.png

Enum类的主要方法

  1. values()方法:返回枚举类型的对象数组。该方法可以很方便地遍历所有的枚举值。
  2. valueOf(Stringstr):可以把一个字符串转为对应的枚举类对象。要求字符 串必须是枚举类对象的“名字”。如不是,会有运行时异常: IllegalArgumentException。
  3. toString():返回当前枚举类对象常量的名称

image.png
不调用tostring方法,直接调用枚举类的向量名称也可以打印常量名字