想象一下,我们有一个班级:
class A {
public void m() {
System.out.println("A - > m()");
}
}
Run Code Online (Sandbox Code Playgroud)
......我想覆盖的方法m对类创建不使第二子类B来扩展A.
public static void main(String[] args) {
A a = new A() {
@Override
public void m() {
System.out.println("Override - > m()");
new Thread(new Runnable() {
@Override
public void run() {
// I want to be able to call the super method.
// This is illegal!
A.super.m();
}
}).start();
}
};
a.m();
}
Run Code Online (Sandbox Code Playgroud)
目前我的解决方案是创建一个调用的私有方法 super.m()
A a = …Run Code Online (Sandbox Code Playgroud)