我有基类foo和spam方法,类bar覆盖spam。我需要在某个回调对象的方法中调用基类的spam,该回调对象在以下位置定义:
public class Foo {
public void spam() {
// ...
}
}
public class Bar extends Foo {
@Override
public void spam() {
objectWhichRequireCallback(new Callback {
@Override
public void onCallback() {
super.spam();
}
});
}
}
此代码不起作用,因为super与回调相关,而不是bar类。是否可以从就地定义的对象调用super方法?
3条答案
按热度按时间wmomyfyw1#
试试这个:
Bar.super.spam();
Bar.this.spam();
已编译,但它将导致无限递归,因为您调用了相同的spam()本身。oalqel3c2#
您可以为此创建一个 Package 器函数,在bar中
neskvpey3#
编辑:对不起。没有意识到方法名是一样的。