Java Enum构造函数未定义

Chi*_*box 6 java eclipse enums

为什么我收到错误"构造函数未定义"是否在我的eclipse IDE中?我的代码有问题吗?

public enum EnumHSClass {
    PALADIN ("Paladin"),ROUGE("ROUGE");
}
Run Code Online (Sandbox Code Playgroud)

QBr*_*ute 13

如果您希望枚举具有参数,则需要为这些参数声明构造函数和字段.

public enum EnumHSClass {
    PALADIN ("Paladin"),ROUGE("ROUGE");
    private final String name;
    private EnumHSClass(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}
Run Code Online (Sandbox Code Playgroud)


Sha*_*016 4

您需要 constructor 在枚举中提供一个,例如:

public enum EnumHSClass {

    PALADIN("Paladin"), ROUGE("ROUGE");

    String value;

    EnumHSClass(String value) {
        this.value = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

注意:枚举类型的构造函数必须是包私有或私有访问。它自动创建在枚举体开头定义的常量。您不能自己调用​​枚举构造函数。

参考: http: //docs.oracle.com/javase/tutorial/java/javaOO/enum.html