當前位置:首頁 » 編程語言 » 父類子類構造函數JAVA

父類子類構造函數JAVA

發布時間: 2024-03-18 18:15:23

java,中的子類繼承父類,子類如何調用父類的構造函數舉一個簡單的例子加註釋說明

子類無條件調用父類的無參構造函數,實例:

父類:

package com.test;


public class TestFatherClass {

private String name="abc";

TestFatherClass(){

System.out.println("1、這是父類的無參構造函數");

}

TestFatherClass(String a){

System.out.println("2、這是父類的有參構造函數");

}

}


子類:

package com.test;


public class TestChildClass extends TestFatherClass{

TestChildClass(){

System.out.println("3、這是子類的無參構造函數");

}

TestChildClass(String str){

System.out.println("4、這是子類的有參構造函數");

}

public static void main(String[] args) {

System.out.println("實例化對象時:(無參)");

TestChildClass test = new TestChildClass();

System.out.println("實例化對象時:(有參)");

TestChildClass test2 = new TestChildClass("adad");

}

}


輸出結果:

㈡ java創建父類對象可以用子類構造函數why

子類繼承父類的數據和方法,子類對象當然也屬於父類的類型,
不管父類或子類,靜態成員總是在new創建對象之前執行
子類繼承父類的構造方法的原則:一般JVM先調用子類的構造函數,
第一種情況:若子類構造函數開始沒有顯示調用父類構造函數,則自動調用父類那個無參構造函數。若已顯示調用了,則調用顯示調用的構造函數,而不再調用父類其它的構造函數。
第二種情況:在沒有顯示調用的情況下,若父類中無構造函數,則調用父類默認的構造函數。若父類中有構造函數而沒有無參的構造函數,編譯時會報錯。
多態性,是編譯引用變數時,無法確定其調用的是哪個類的方法,只能在程序運行期間,才能確定引用變數調用的具體類的方法,與創建父類和子類對象無關喲

㈢ JAVA中 子類與父類構造方法的關系 個人理解

編寫JAVA作業時在繼承的環節發現了一些錯誤,希望總結一些規律:(以下全部屬於自己歸納,可能有問題)
一句話概括就是:子類一定會調用(不是繼承)父類的構造方法!
即遵循一個原則:子類的構造一定是在父類已構造的基礎上!
這句話要分為幾種情況來理解(下面只討論父類有構造函數):
子類構造函數自動調用super() (也可以手動加上)
但如果父類只有含參數的構造方法,那麼子類必須申明一個構造方法,其中包含對super(args)的調用
一、父類含有無參構造函數
1、子類沒有構造方法或者含有無參的構造方法:
這種情況,都會默認地調用super()
2、子類含有有參數構造方法:
同樣會在首句默認調用super() //其實跟情況1類似
二、父類含有含參數的構造方法,不含無參數的構造方法:
子類沒得選擇:
子類必須申明一個構造方法(且含super的args),且方法里要首先調用super(args),否則報錯。
三、父類含 含參數的構造方法和無參的構造方法:
此時子類可以選擇性調用:
可以無構造方法:仍會默認調用super()
也可以有構造方法:其中會默認地調用super(),你也可以在開頭加上這句,如果你不希望調用父類默認的無參方法,那麼在 子類構造方法 中調用 父類含參構造方法。
上述看似情況復雜,其實基於其原則理解並不難。
綜上:java為了保持 子類的構造基於父類的構造 這一原則,子類構造時必須通過某些方式首先調用父類的構造方法,否則會報錯。

熱點內容
sql存儲過程區別 發布:2024-11-28 23:35:37 瀏覽:918
ms計算機需要什麼配置 發布:2024-11-28 23:34:21 瀏覽:974
淘寶直接訪問的流量 發布:2024-11-28 23:33:11 瀏覽:49
python發微博 發布:2024-11-28 23:29:31 瀏覽:725
sql清空命令 發布:2024-11-28 22:58:53 瀏覽:487
melpython 發布:2024-11-28 22:49:54 瀏覽:211
伺服器瀏覽量什麼意思 發布:2024-11-28 22:49:09 瀏覽:965
可不可以同時安裝幾個編譯器 發布:2024-11-28 22:34:08 瀏覽:935
蘋果配置鎖如何激活 發布:2024-11-28 22:10:24 瀏覽:669
linuxpython2與3共存 發布:2024-11-28 21:43:41 瀏覽:906