Java:如何从内部内部类调用super方法

Vla*_*lad 20 java overriding callback super

我有基类Foo与方法垃圾邮件和类Bar,它覆盖垃圾邮件.我需要在一些就地定义的回调对象的方法中调用基类的垃圾邮件:

public class Foo {
    public void spam() {
        // ...
    }
}

public class Bar extends Foo {
    @Override
    public void spam() {
        objectWhichRequireCallback(new Callback {
            @Override
            public void onCallback() {
                super.spam();
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码无效,因为superCallback相关,而不是Bar类.是否可以从就地定义的对象调用super方法?

Kal*_*Kal 29

public class Bar extends Foo {
    @Override
    public void spam() {
        objectWhichRequireCallback(new Callback {
            @Override
            public void onCallback() {
                Bar.super.spam();
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:抱歉.DId没意识到方法名称是一样的.

  • [StackOverflow](http://stackoverflow.com/questions/7079600/java-how-to-call-super-method-from-inner-in-place-class) ;-) (3认同)