跳到主要内容

Java 枚举构造器

提示
  1. 枚举构造函数特性:Java 中的枚举类可以包含构造函数,这些构造函数可以是私有(private)或包私有(package-private)。
  2. 构造函数的使用:枚举构造函数用于初始化枚举常量,通常接受参数并将其赋给枚举的字段。
  3. 私有构造函数的调用:尽管枚举的构造函数是私有的,它们会被枚举常量内部调用,如在示例中 Size.SMALL 调用 Size 枚举的构造函数。

在学习枚举构造函数之前,请确保了解 Java 枚举

在 Java 中,枚举类可以包含一个构造函数,就像普通类一样。这些枚举构造函数可以是:

  • private - 类内部可访问 或
  • package-private - 包内可访问

示例:枚举构造函数

enum Size {

// 枚举常量调用枚举构造函数
SMALL("尺寸是小的。"),
MEDIUM("尺寸是中等的。"),
LARGE("尺寸是大的。"),
EXTRALARGE("尺寸是超大的。");

private final String pizzaSize;

// 私有枚举构造函数
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());
}
}


输出

尺寸是小的。

在上述示例中,我们创建了一个名为 Size 的枚举。它包含一个 private 枚举构造函数。构造函数接收一个字符串值作为参数,并将该值赋给变量 pizzaSize

由于构造函数是 private 的,我们无法从类外部访问它。然而,我们可以使用枚举常量来调用构造函数。

Main 类中,我们将 SMALL 赋给了枚举变量 size。常量 SMALL 随后调用构造函数 Size 并将字符串作为参数传入。

最后,我们使用 size 调用了 getSize()