我正在尋找解決方案如何使用自定義內容擴展超類的方法。如何使用自定義內容擴展超類的方法
,比如我有一個超類
class A{
public A(){
boolean ok = doSomeInitialWork();
if(ok){
specialMehtod();
}
}
specialMehtod(){
System.out.print("HEllO");
}
}
所以我的A類做了一些 「初始化」 的東西,然後調用specialMehtod()。現在我想擁有class B extends A
並將其他代碼添加到specialMehtod()。喜歡的東西:
Class B extends A{
B(){
super();
}
specialMehtod(){
System.out.print("BBBBB");
}
}
但如果我這樣做,我打電話a.SpecialMethod()
expizit,實際上我只是想「添加」到System.out.print("BBBBB");
specialMethod(),所以它仍然可以從A的構造方法中調用
我想實現什麼,是finaly我可以在我的主類
new B();
螞蟻輸出會做。因爲B()調用A()的構造函數,它調用由B.specialMethod()擴展的A.specialMethod()
;
可能嗎?
感謝
不知道我明白你想要做什麼,但如果你重寫B中的someSpecialTask方法,它應該不工作? – LBes
您既可以按原樣繼承方法,也可以重寫它。不幸的是,下面的所有答案都爲您提供瞭解決方案,但不回答您的問題。 – zubergu
我編輯我的問題,也許它現在更清楚我想實現什麼 – user1908375