我的問題來自一個項目。所以讓我抽象一些有點無關的細節。覆蓋一個受保護的方法,並嘗試從超類調用它
我有一個JAVA公共類A有兩個受保護的靜態方法,foo()和bar()。方法foo()在其正文中調用bar()。
public class A{
protected static foo(){
...
bar()
...
}
protected static bar(){print("A.bar()");}
}
現在我還具有延伸A.在乙類B,I重寫巴()
class B extends A{
@Overrides
static protected bar(){ print("A.bar() extended");
}
最後,我請從類FOO()在乙
class B extends A{
...
public static main(){foo()}
}
我無法理解兩點 1.編譯器(Eclipse)要求我刪除@Override註釋。爲什麼? 2.最後main()輸出「A.bar()」,這意味着已解析的bar()目標是A類的,但我打算重寫bar()並使用A的foo()來調用修改後的bar ()。我怎樣才能做到這一點?
您的意見是什麼?
對於任何人投票給我,我已經達到我的投票最高的一天。請投票@紀堯姆的類似答案(我已經完成了)。 :) –
嘿,謝謝;-) –