在学习枚举构造函数之前,请确保了解 Java 枚举。
在 Java 中,枚举类可以像普通类一样包含 构造函数。这些枚举构造函数可以是
- private - 在类内部可访问
或 - package-private - 在包内部可访问
示例:枚举构造函数
enum Size {
// enum constants calling the enum constructors
SMALL("The size is small."),
MEDIUM("The size is medium."),
LARGE("The size is large."),
EXTRALARGE("The size is extra large.");
private final String pizzaSize;
// private enum constructor
private Size(String pizzaSize) {
this.pizzaSize = pizzaSize;
}
public String getSize() {
return pizzaSize;
}
}
class Main {
public static void main(String[] args) {
Size size = Size.SMALL;
System.out.println(size.getSize());
}
}
输出
The size is small.
在上面的示例中,我们创建了一个名为 Size 的枚举。它包含一个 private
的枚举构造函数。该构造函数接受一个 字符串值 作为参数,并将该值赋给变量 pizzaSize。
由于构造函数是 private
的,我们无法从类外部访问它。但是,我们可以使用枚举常量来调用构造函数。
在 Main 类中,我们将 SMALL 赋值给枚举变量 size。然后,常量 SMALL 调用带字符串参数的构造函数 Size。
最后,我们使用 size 调用了 getSize()
。
另请阅读