以下代码会给我带来很多错误。所以 为什么不可能只有构造函数有一个像下面的枚举,以便它可以实例化其他地方?
public class TestEnum{
enum Animal
{
public Animal(String name)
{
this.name = name;
}
String name;
}
}
是否有任何实现枚举的方法或是否违反了枚举的基本属性/功能,它只应用于创建一组现成的对象?
答案 0 :(得分:9)
因为enum由枚举的常量值组成(在编译和运行时是常量)
您的代码是(几乎)正确的,例如
enum Animal {
Dog("Bark"), Cat("Meow"); // Dog and Cat.
Animal(String name) { // No, it can't be public.
this.name = name;
}
String name;
}
如果您想要动态值,请使用class
。