java子類調用父類方法
① java子類如何調用父類變數和方法
其過程是先給子類的屬性,i分配存儲空間,並賦默認值0,執行父類構造方法, 裡面有個test(),這個方法被子類覆寫了,所以實際執行的是子類的test()方法。會輸出i,這時i=0,所以輸出0。然後給屬性i賦值10。 在給屬性i賦值的前 載入了父類 然後就有了後面的0
② java中子類繼承父類,子類聲明並實例化對象,這個對象怎麼調用父類方法的 如圖 詳細一點謝謝
//子類 沒有定義 構造 函數時,默認繼承父類的構造方法:輸出結果為 Class A...
// 子類 定義了 構造 函數時,就不會繼承父類的構造方法:輸出結果是 Class B...
<?php
class A{
public function __construct(){
echo "Class A...<br/>";
}
}
class B extends A{
}
new B();
?>
/*輸出結果是:Class A...*/
③ java中子類調用祖父類(父類的父類)的方法
1、如果是多態,只能通過super的方式調用基類方法,具體決定於父類是否覆蓋了父類的父類方法,如果父類的方法覆蓋了父類的父類,則super無法調用到父類的父類方法。如果父類的方法沒有覆蓋父類的父類,則super可以調用到父類的父類方法。
publicclassA{//定義類A
publicvoidshow(){
}
}
publicclassBextendsA{//定義子類B,繼承類A
publicvoidshow(){
super.show();//調用父類A的方法show
}
}
2、如果不是多態,則可以直接訪問方法名就能夠訪問到父類的父類方法
publicclassA{//定義類A
publicvoidshow(){
}
}
publicclassBextendsA{//定義子類B,繼承類A
publicvoidme(){
show();//調用的是父類A中定義的show方法
}
}
④ Java子類調用父類方法的問題
main方法中是可以的,父類是不能調用子類
的方法的。跟你說底層實現你也不懂,從面向對象上來說吧。
父類先於子類存在,子類從父類中生出來,所以子類知道父類,可以調用父類方法。但父類不知道子類,子類可以任意的出生,只要你願意,所以父類無法調用子類,他不知他會有這樣的子類,也不知有多少個子類,但子類的父類是唯一的。
簡單點就是在java中父類是不能調用子類的方法的。