# Java 枚举构造器

> 原文： [https://www.programiz.com/java-programming/enum-constructor](https://www.programiz.com/java-programming/enum-constructor)

#### 在本 Java 教程中，您可以在一个有效的示例的帮助下了解枚举构造器。

在学习枚举构造器之前，请确保了解 [Java 枚举](/java-programming/enums)。

在 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());
   }
} 
```

**输出**

```java
The size is small. 
```

在上面的示例中，我们创建了一个枚举`Size`。 它包含一个`private`枚举构造器。 构造器将字符串值作为参数，并将值分配给变量`pizzaSize`。

由于构造器为`private`，因此我们无法从类外部访问它。 但是，我们可以使用枚举常量来调用构造器。

在`Main`类中，我们将`SMALL`分配给枚举变量`size`。 然后，常量`SMALL`调用构造器`Size`，并将字符串作为参数。

最后，我们使用`size`来调用`getSize()`。