導航:首頁 > 編程語言 > java子類調用父類構造函數

java子類調用父類構造函數

發布時間:2023-08-23 23:59:45

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中子類一定要調用父類的構造函數嗎

不需要,子類可以有自己的構造函數,也可以調用父類的。不過實例化子類的時候會先調用父類的構造函數。

③ 在java語言里如何在子類中調用父類的有參構造函數

如果你是想在子類的構造函數中調用父類構造函數,則需要在子類的構造函數的函數體第一行(注釋語句除外)使用:super(參數列表)的方式調用,該參數列表與父類有參構造函數聲明的參數列表一致,如果你不是在子類構造函數中調用,則無法直接調用父類構造函數,這時創建一個父類對象(通過你想調用的有參父類構造函數創建),就間接調用了該構造函數。

④ java 子類調用父類構造方法會創建父類對象嗎

調用初始化方法並不代表會生成對象,你的java代碼中出現new關鍵字加上構造方法的調用,只會生成一個對象,其父類對象不會生成,所以調用父類為抽象類的構造方法完全是合理的。






抽象類中的構造方法其實是用來給繼承的子類來用的,因為構造方法相當於初始化方法,當子類調用構造方法時必須調用父類構造方法,所以你可以在子類產生對象時抽象類中按需求初始化抽象類中的欄位以及執行一些初始化代碼。其實並不是一定要生成某個類的實例才調用構造方法,子類也需要調用父類構造方法。


子類在創建實例後,類初始化方法會調用父類的初始化方法(除了Java.lang.Object類,因java.lang.Object類沒有父類),而這種調用會逐級追述,直到java.lang.Object的初始化方法。這個地方我說的是初始化方法,而不是構造方法,因為構造方法是相對於java源程序而言,而編譯後的class文件是初始化方法即" <init>"方法(紅色部分為方法名)。

⑤ 在java中用來調用父類構造方法的關鍵字是

java中的關鍵字super有兩種用法。

一、調用父類的構造方法,如:

class A

{

A(String s)

{

System.out.println(s);

}

}

class B extends A

{

B()

{

super("父類");

System.out.println("子類");

}

}

完整例子如下圖:

⑥ 在java中,子類構造器總會調用父類構造器,那麼子類構造器調用父類構造器為什麼只能調用一次呢

調用一次就夠了,每次子類需要實例化的時候,就會先調用父類的構造函數,默認是隱式調用,如果要在子類中顯式調用那麼在子類構造器中的第一行用super();就行了。。

閱讀全文

與java子類調用父類構造函數相關的資料

熱點內容
單片機kill4軟體下載收費嗎 瀏覽:846
蘋果手機怎麼連接RMS伺服器 瀏覽:603
cisco路由器基本配置命令 瀏覽:186
android狀態欄顏色透明 瀏覽:116
db2編譯工具 瀏覽:181
騰訊雲伺服器創建環境 瀏覽:567
監管資金怎麼解壓 瀏覽:670
榮耀手機內存清理文件夾 瀏覽:175
外派程序員方案 瀏覽:554
安卓怎麼把桌面的軟體變成卡通 瀏覽:885
魯班鎖解壓嗎 瀏覽:395
打包發送文件如何加密 瀏覽:213
centos解壓縮zip 瀏覽:388
我的世界怎麼用命令風塊取消指令 瀏覽:1000
安卓軟體請求超時怎麼辦 瀏覽:476
androidapp調用另一個app 瀏覽:621
數控銑床法蘭克子程序編程 瀏覽:174
linux打包命令targz 瀏覽:997
抖音app是哪個 瀏覽:407
蘋果app怎麼上架 瀏覽:255