为什么所有枚举都扩展枚举<e>

rub*_*buc 1 java enums

是否不可能使用未定义的类型参数ex扩展泛型类型:

class Foo extends enum<E>
Run Code Online (Sandbox Code Playgroud)

他们如何扩展它?

编辑:还在哪里定义了values()方法?

提前致谢

bdo*_*lan 5

使用未定义的类型参数扩展泛型类型确实是非法的.但是,枚举不会这样做.如果你正在反编译一些java代码并看到<E>那里(你的枚举类型没有命名E),你的反编译器就不能正确处理泛型.

枚举隐含地扩展Enum<YourEnumType>.也就是说,隐式编译器会生成一个class YourEnumType extends Enum<YourEnumType>.通过使下它自己的类型,它允许EnumcompareTovalueOf功能,以从不同类型的拒绝值enum秒.