在下面的示例中,您将看到如何向枚举类型值添加构造函数。因为枚举只是另一个类类型,所以它可以像其他任何类一样具有构造函数,字段和方法。下面我们定义一个接受颜色代码字符串值的构造函数。因为我们的枚举现在有一个新的构造函数中声明,我们需要定义一个名为值恒定RED("FF0000"),ORANGE("FFA500")等等。
在Java中,枚举不仅扩展为命名常量。因为enum是类类型,我们可以将方法,字段和构造函数添加到枚举类型,如下面的示例所示。
package org.nhooo.example.fundamental; public enum Rainbow { RED("FF0000"), ORANGE("FFA500"), YELLOW("FFFF00"), GREEN("008000"), BLUE("0000FF"), INDIGO("4B0082"), VIOLET("EE82EE"); private String colorCode; // Rainbow枚举的构造函数。 Rainbow(String colorCode) { this.colorCode = colorCode; } /** * Get the hex color code. * @return */ public String getColorCode() { return colorCode; } }
public class EnumConstructor { public static void main(String[] args) { // 要获取Rainbow枚举的所有值,我们可以调用Rainbow.values() // 返回Rainbow枚举值数组的方法。 for (Rainbow color : Rainbow.values()) { System.out.println("Color = " + color.getColorCode()); } } }