介绍
枚举是一种特殊的数据类型,用于定义一组固定的常量。它可以使代码更加易读和可维护。
原则
- 枚举常量的命名应该使用大写字母和下划线。
- 枚举类应该使用单例模式。
原理
枚举类在编译时会被编译器转化成一个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方法
}
特点
- 枚举类中的每个枚举值都是唯一的,不可重复。
- 枚举类中的每个枚举值都是 public static final 修饰的常量。只不过这个常量存储的是自身的对象实例
- 枚举类中的枚举值必须在枚举类声明的第一行以“,”隔开,最后以“;”结束。
- 枚举类是线程安全的。
- 枚举类中可以定义方法、构造函数等成员。
- 枚举类可以实现接口。
注意事项(*
重点)
- 枚举类的构造函数只能是private修饰符,不能被外部调用。
- 枚举常量必须放在枚举类的第一行。
- 枚举类不能被继承。