首頁 > Java > Java入門 > 在建立衍生類別物件時,建構函數的執行順序是什麼

在建立衍生類別物件時,建構函數的執行順序是什麼

王林
發布: 2020-07-08 15:55:21
原創
9695 人瀏覽過

建立衍生類別物件時,建構子的執行順序為:基底類別建構子、衍生類別物件成員建構子、衍生類別本身的建構子。物件建立時,程式碼的載入順序是:靜態程式碼、非靜態程式碼、建構方法。

在建立衍生類別物件時,建構函數的執行順序是什麼

建立衍生類別物件時,建構函數的執行順序是:基底類別建構函數,衍生類別物件成員建構函數,衍生類別本身的建構子。

(推薦教學:java入門程式

詳細介紹:

物件建立時程式碼的載入順序為:靜態程式碼-->非靜態程式碼--> 建構方法。

若繼承了父類,則載入順序為:父類的靜態的代碼--> 子類的靜態的代碼--> 父類內部非靜態代碼--> 父類的建構方法--> 子類別的非靜態程式碼--> 子類別的建構方法。

其中,靜態程式碼包括(靜態方法,靜態變量,靜態程式碼區塊等),非靜態程式碼即(成員方法,成員變量,成員程式碼區塊等),同一種程式碼,寫在上面的先載入.

(影片教學推薦:java影片教學

實例:

public class ExtendsTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		C c = new D();
	}

}

class C {
	static {
		System.out.println("C 基类静态域 ");
	}
	{
		System.out.println("C 基类对象成员构造函数");
	}

	public C() {
		System.out.println("C 基类本身的构造函数");
	}
}

class D extends C {
	static {
		System.out.println("D 派生类静态域");
	}
	{
		System.out.println("D 派生类对象成员构造函数");
	}

	public D() {
		System.out.println("D 派生类本身的构造函数");
	}
}
登入後複製

輸出結果:

在建立衍生類別物件時,建構函數的執行順序是什麼

以上是在建立衍生類別物件時,建構函數的執行順序是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板