[英]Java: How to call super method from inner in-place class
我有基礎 class Foo方法spam和 class Bar覆蓋spam 。 我需要在一些就地定義的回調 object 的方法中調用基本 class 的垃圾郵件:
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與Callback相關,而不是Bar class。 是否可以從就地定義的 object 調用超級方法?
public class Bar extends Foo {
@Override
public void spam() {
objectWhichRequireCallback(new Callback {
@Override
public void onCallback() {
Bar.super.spam();
}
});
}
}
編輯:對不起。 沒有意識到方法名稱是相同的。
您可以為此在 Bar 中創建一個包裝器 function
public class Bar...
public void mySuperSpam(){
super.spam();
}
試試這個: Bar.super.spam();
Bar.this.spam();
已編譯但它會導致無限遞歸,因為您調用相同的 spam() 本身。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.