JAVA初始化順序

2021-06-19 07:01:56 字數 993 閱讀 8931

《**
/** 

* 1、當使用新建物件例項或者呼叫靜態成員變數或者方法時,初始化靜態變數

* 2、靜態變數在初始化時在前面的先初始化,靜態塊和靜態變數相同對待(在初始化過程中,有新建物件例項的時候,暫時停止後面的靜態變數初始化)

* 3、靜態變數沒有初始化時,使用預設的初始值(如int為0)

* 4、新建物件例項,對非靜態的成員變數進行賦值,構造塊同樣如此,排在前面的先初始化

* 5、成員變數沒有初始化時,使用預設的初始值(如int為0)

*/public class testinit

private static int j = print("靜態變數賦值");

static

private static testinit ti1 = new testinit("ti1");

private static int k = 0;

public testinit(string str)

private static testinit ti2 = new testinit("ti2");

private static int print(string str)

public static void main(string args)

}

結果:k:1 靜態變數賦值 j:0 

k:2 靜態塊 j:1

k:3 成員變數賦值 j:2

k:4 構造塊 j:3

k:5 ti1 i:3

k:1 成員變數賦值 j:4

k:2 構造塊 j:5

k:3 ti2 i:5

k:4 成員變數賦值 j:6

k:5 構造塊 j:7

k:6 init i:7

java初始化順序

1 父類靜態成員和靜態初始化塊 按在 中出現的順序依次執行 2 子類靜態成員和靜態初始化塊 按在 中出現的順序依次執行 3 父類例項成員和例項初始化塊 按在 中出現的順序依次執行 4 父類構造方法 5 子類例項成員和例項初始化塊 按在 中出現的順序依次執行 6 子類構造方法 public abstr...

java初始化順序

例如以下 package chapter5 public class demo1one public void printinfo public static void main string args 程式一開始先執行 private static string password 0721 這行 ...

JAVA初始化順序

1.類的初始化順序 即為 類的靜態變數初始化賦值語句和靜態塊的載入順序 按出現的先後順序排列 2.物件的初始化順序 即為 類的非靜態變數的初始化和非靜態塊的載入順序 按出現的先後順序排列 建構函式 public class teststatic static public teststatic st...