Мне интересно, почему на языке 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) для этого ограничения?