原文: https://www.programiz.com/java-programming/enum-constructor
在学习枚举构造器之前,请确保了解 Java 枚举。
在 Java 中,枚举类可能包含类似于常规类的构造器。 这些枚举构造器是
- 私有 - 可在类中访问,或
- 包专用 - 可在包中访问
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()
。