Мне интересно, почему на языке Java a class
не может расширить enum
.
Я не говорю о enum
, расширяющем enum
(чего нельзя сделать, поскольку java не имеет множественного наследования и что enum
неявно расширяет java.lang.Enum
), но класс что extends
an enum
, чтобы добавлять дополнительные методы, а не дополнительные значения перечисления.
Что-то вроде:
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) для этого ограничения?