枚举类型的值是该类型的静态变量。真正?

时间:2012-12-08 23:11:30

标签: java enums

枚举类型的值是该类型的静态变量。 据我所知,变量是通过引用变量引用的,但是没有新的运算符来实例化枚举对象。但它是否像你可以初始化一个数组?

这是真还是假?

2 个答案:

答案 0 :(得分:2)

是的,枚举类型的文字是public static final变量。

简化,看起来像这样:

public final enum FooEnum {
    A, B
}

public final class BarEnum {
    public static final BarEnum A = new BarEnum();
    public static final BarEnum B = new BarEnum();
}

实际上,还有一些东西,例如所有枚举文字的列表,一个字符串标识符(枚举值知道它的name),一个序数和一个私有的构造函数来防止实例化(因为问题仅涉及static

,所以省略了代码的清晰度

答案 1 :(得分:1)

Afaik枚举转换为类,是的,值是此类中的静态字段:http://theopentutorials.com/tutorials/java/enum/enum-converted-to-class/