在学习枚举构造函数之前,请确保了解Java枚举。
在Java中,枚举类可能包含类似于常规类的构造函数。这些枚举构造函数是
- 私人 -在班级内可以访问
要么 - 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()
。