枚举类型的值是该类型的静态变量。 据我所知,变量是由引用变量引用的,但没有新的运算符来实例化枚举对象。但这就像初始化数组一样吗?
这是对还是错?
是的,枚举类型的文字是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
)
Afaik 枚举被转换为类,是的,这些值是此类中的静态字段:http: //theopentutorials.com/tutorials/java/enum/enum-converted-to-class/