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 ?