我刚刚回答了这个问题,说如何解决编译问题:
但我不明白为什么错误发生在一开始.
以下是以枚举形式编写的示例:
public enum MyEnum {
FIRST {
@Override
public String doIt() {
return "1: " + someField; //error
}
},
SECOND {
@Override
public String doIt() {
return "2: " + super.someField; //no error
}
};
private String someField;
public abstract String doIt();
}
Run Code Online (Sandbox Code Playgroud)
这与抽象类完全相同
abstract class MyClass {
class FIRST extends MyClass {
@Override
public String doIt() {
return "1: " + someField; //no error
}
};
class SECOND extends MyClass {
@Override
public String doIt() …Run Code Online (Sandbox Code Playgroud)