2

枚举类型的值是该类型的静态变量。 据我所知,变量是由引用变量引用的,但没有新的运算符来实例化枚举对象。但这就像初始化数组一样吗?

这是对还是错?

4

2 回答 2

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

于 2012-12-08T23:37:09.863 回答
1

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

于 2012-12-08T23:38:15.497 回答