java類成員初始化順序

2021-08-27 22:34:02 字數 375 閱讀 5402

乙個類中,最首先被初始化的是靜態成員。只要乙個類建立物件或呼叫該類的靜態方法時靜態成員就都會被初始化,並且靜態資料在記憶體中只占用乙份儲存區域,無論建立多少個物件,靜態資料被所有物件共享。

初始化靜態成員後再初始化非靜態成員。

屬性、方法、構造方法和自由塊都是類的成員,在建立類物件時,類中各執行順序

[b]1、父類靜態成員和靜態初始化塊,按在**中出現的順序依次執行。

2、子類靜態成員和靜態初始化塊,按在**中出現的順序依次執行。

3、父類的例項成員和例項初始化塊,按在**中出現的順序依次執行。

4、執行父類的構造方法。

5、子類的例項成員和例項初始化塊,按在**中出現的順序依次執行。

6、執行子類的構造方法。[/b]

Java類成員初始化順序

首先看下這段測試 public class classloader 1.第二步,靜態變數和靜態 塊的載入順序由編寫先後決定 static int snum 4 2.第三步,靜態塊,然後執行靜態 塊,因為有輸出,故列印 static 4.第五步,按照順序載入匿名 塊,塊中有列印 5.第六步,按照順序載...

Java類成員的初始化順序

靜態成員 靜態變數 靜態初始化塊 變數 初始化塊 構造器 只要乙個類被使用 呼叫了類中的某個靜態方法或者是建立物件 這兩種情況表明該類被使用了。如果是有類的繼承關係,則優先執行父類中的成員,屬性及構造器,及初始化順序為 父類的靜態成員 子類的靜態成員 父類的變數 初始化塊 父類構造器 子類的變數 初...

JAVA類的成員初始化順序

下面是父類 package staitic public class parent 初始化塊 構造器 public parent out 下面是子類 package staitic public class subclass extends parent 構造器 public subclass 初始...