1. 程式人生 > 實用技巧 >物件建立時程式碼的執行順序/靜態/非靜態程式碼塊

物件建立時程式碼的執行順序/靜態/非靜態程式碼塊

在建立派生類物件,建構函式的執行順序()
正確答案:A

  • A 基類建構函式,派生類物件成員建構函式,派生類本身的建構函式

  • B 派生類本身的建構函式,基類建構函式,物件成員建構函式

  • C 基類建構函式,派生類本身的建構函式,派生類物件成員建構函式

  • D 物件成員建構函式,基類建構函式,派生類本身的建構函式

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

若繼承了父類,則載入順序為:父類的靜態的程式碼 --> 子類的靜態的程式碼 --> 父類成員初始化 --> 父類內部非靜態程式碼 --> 父類的構造方法--> 子類成員初始化 --> 子類的非靜態程式碼 --> 子類的構造方法。

靜態程式碼塊:隨類存在,類初始化時執行一次,貌似優先於main主方法執行

非靜態程式碼塊:隨物件存在,建立幾次物件就執行幾次,且優先於構造方法執行