public enum myEnum {
VAL1(10), VAL2(20), VAL3("hai") {
public Object getValue() {
return this.strVal;
}
public String showMsg() {
return "This is your msg!";
}
};
String strVal;
Integer intVal;
public Object getValue() {
return this.intVal;
}
private myEnum(int i) {
this.intVal = new Integer(i);
}
private myEnum(String str) {
this.strVal = str;
}
}
В приведенном выше перечислении, что именно происходит, когда я добавляю постоянное тело определенного класса для VAL3?
Тип VAL3 определенно является подтипом myEnum, так как он перегружен и имеет дополнительные методы. (тип класса представлен как 'myEnum $ 1')
Но как компилятор может создать перечисление подтипа, расширяющее myEnum, поскольку все перечисления уже расширяют java.lang.enum?