我想知道为什么在 Java 语言中 aclass
不能扩展enum
.
我不是在谈论enum
扩展 an enum
(这是无法完成的,因为 java 没有多重继承,并且enum
隐式地 extend java.lang.Enum
),而是一个类extends
anenum
仅添加额外的方法,而不是额外的枚举值.
就像是:
enum MyEnum
{
ASD(5),
QWE(3),
ZXC(7);
private int number;
private asd(int number)
{
this.number=number;
}
public int myMethod()
{
return this.number;
}
}
class MyClass extends MyEnum
{
public int anotherMethod()
{
return this.myMethod()+1;
}
}
像这样使用:
System.out.println(MyClass.ASD.anotherMethod());
那么,任何人都可以为此限制提供理由(或指出我正确的 JLS 部分)吗?