Java 枚举构造函数
枚举构造函数
枚举(enum)也可以像类一样拥有构造函数。
构造函数会在常量创建时自动调用。您不能手动调用它。
这里,枚举中的每个常量都有一个值(字符串),该值通过构造函数设置:
enum Level {
// 枚举常量(每个常量都有自己的描述)
LOW("Low level"),
MEDIUM("Medium level"),
HIGH("High level");
// 用于存储描述文本的字段(变量)
private String description;
// 构造函数(对上述每个常量运行一次)
private Level(String description) {
this.description = description;
}
// 用于读取描述的 Getter 方法
public String getDescription() {
return description;
}
}
public class Main {
public static void main(String[] args) {
Level myVar = Level.MEDIUM; // 选择一个枚举常量
System.out.println(myVar.getDescription()); // Prints "Medium level"
}
}
输出结果为:
Medium level
注意:枚举的构造函数必须是私有的。如果您不写private,Java 会自动添加。
使用构造函数遍历枚举
您还可以使用values()方法遍历常量并打印它们的值:
for (Level myVar : Level.values()) {
System.out.println(myVar + ": " + myVar.getDescription());
}
输出结果为:
LOW: Low level
MEDIUM: Medium level
HIGH: High level

