枚举 Enum

枚举 Enum

介绍

枚举是一种特殊的数据类型,用于定义一组固定的常量。它可以使代码更加易读和可维护。

原则

  1. 枚举常量的命名应该使用大写字母和下划线。
  2. 枚举类应该使用单例模式

原理

枚举类在编译时会被编译器转化成一个final类,其中的每个常量都是枚举类的一个实例对象。因此,枚举类的实例对象是单例的,不允许在运行时创建新的实例。

语法

调用

System.out.println(EnumName.CONSTANT1);

枚举

public enum EnumName {
    // 调用 EnumName 的 private 构造函数并传入参数
    CONSTANT1("name1", "value1"),
    CONSTANT2("name2", "value2"),
    ...
    ;

    private final String name;
    private final String value;

    EnumName(String name, String value) {
        this.name = name;
        this.value = value;
    }

    // getter和setter方法
}

特点

  1. 枚举类中的每个枚举值都是唯一的,不可重复。
  2. 枚举类中的每个枚举值都是 public static final 修饰的常量。只不过这个常量存储的是自身的对象实例
  3. 枚举类中的枚举值必须在枚举类声明的第一行以“,”隔开,最后以“;”结束。
  4. 枚举类是线程安全的。
  5. 枚举类中可以定义方法、构造函数等成员。
  6. 枚举类可以实现接口。

注意事项(*重点)

  1. 枚举类的构造函数只能是private修饰符,不能被外部调用。
  2. 枚举常量必须放在枚举类的第一行。
  3. 枚举类不能被继承。