📅  最后修改于: 2023-12-03 15:31:35.375000             🧑  作者: Mango
在 Java45 中,添加了枚举类型(Enumeration Type),也称作枚举类(Enum Class),用于定义一组固定数量的命名常量。枚举类型本质上是一种特殊的类,其实例是预先定义好的一组枚举常量。枚举常量本质上是类的实例,但是它们是在声明枚举类型时被创建的。每个枚举常量都表示一个唯一的实例,并且在枚举类型中可以通过其名称访问它们。枚举类型支持在 switch 语句中使用,更为方便地定义常量。
定义枚举类型的基本语法如下:
enum EnumName {
CONSTANT1,
CONSTANT2,
CONSTANT3,
...
}
其中,EnumName 是枚举类型的名称,CONSTANT1、CONSTANT2、CONSTANT3 等是枚举类型的常量名称。枚举类型的名称和常量名称通常使用大写字母,以便与其他标识符区分开来。
下面是一个简单的枚举类型的定义实例:
enum Days {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}
在这个实例中,我们定义了一个枚举类型 Days,包含了一组常量,分别为 SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY 和 SATURDAY。这些常量并不需要显式地声明,它们是在枚举类型被声明时自动创建的。
可以使用枚举类型的名称和常量名称获取相应的枚举常量。例如,可以使用 Days.SUNDAY 获取 SUNDAY 枚举常量。
可以像使用普通类一样使用枚举类型。例如,可以使用枚举类型的构造函数创建枚举常量实例:
enum TrafficSignal {
RED("STOP"), GREEN("GO"), YELLOW("SLOW DOWN");
private String action;
TrafficSignal(String action) {
this.action = action;
}
public String getAction() {
return this.action;
}
}
在这个实例中,我们定义了一个枚举类型 TrafficSignal,包含了三个常量,分别为 RED、GREEN 和 YELLOW。这些常量都有一个名为 action 的实例变量。
可以使用枚举类型的构造函数创建枚举常量实例,并设置实例变量的值。例如,可以使用 TrafficSignal.RED.getAction() 获取 RED 枚举常量的 action 值。
Java45 的枚举类型是一种方便的定义常量的方式,可以避免使用整型值来表示不同的常量。枚举类型支持在 switch 语句中使用,更为方便地定义常量。枚举类型支持在类中定义构造函数、实例方法、静态方法等成员,可以像普通类一样使用。