📜  Java45 枚举(1)

📅  最后修改于: 2023-12-03 15:31:35.375000             🧑  作者: Mango

Java45 枚举

介绍

在 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 语句中使用,更为方便地定义常量。枚举类型支持在类中定义构造函数、实例方法、静态方法等成员,可以像普通类一样使用。