实例化枚举

时间:2013-12-16 06:18:34

标签: java enums

以下代码会给我带来很多错误。所以 为什么不可能只有构造函数有一个像下面的枚举,以便它可以实例化其他地方?

public  class TestEnum{
     enum Animal
     {
         public Animal(String name)
         {
             this.name = name;
         }
         String name;
     }
}

是否有任何实现枚举的方法或是否违反了枚举的基本属性/功能,它只应用于创建一组现成的对象?

1 个答案:

答案 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