Java 初始化順序

2021-07-03 09:54:36 字數 898 閱讀 3387

1.首先,初始化父類中的靜態成員變數和靜態**塊,按照在程式中出現的順序初始化;

2.然後,初始化子類中的靜態成員變數和靜態**塊,按照在程式中出現的順序初始化;

3.其次,初始化父類的普通成員變數和**塊,在執行父類的構造方法;

4.最後,初始化子類的普通成員變數和**塊,在執行子類的構造方法;

最後,給你個例子吧。你執行著幫助理解。

class super

public super()

}class sub extends super

public sub()

}public class constructortest

}每次當用new關鍵字建立出乙個子類物件時,那麼程式會先執行父類中不帶引數的建構函式,然後再執行子類的建構函式.

eg:   我建了三個類,乙個是父類(a_constructor) , 第二個是子類(b_constructor) , 第三個是測試用的類(test_constructor) . **及執行結果如下

父類:public class a_constructor

public a_constructor(int n)

}子類:

public class b_constructor extends a_constructor

public b_constructor(int n) }

測試類:

public class test_constructor

}執行結果:

父類的無引數的建構函式a_constructor()

子類的無引數建構函式b_constructor()

父類的無引數的建構函式a_constructor()

子類帶引數的建構函式b_constructor(n): 2

測試結束

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 靜態變數在初始化時在前面的先初始化,靜態塊和靜態變數相同對待 在初始化過程中,有新建物件例項的時候,暫時停止後面的靜態變數初始化 3 靜態變數沒有初始化時,使用預設的初始值 如int為0 4 新建物件例項,對非靜態的成員變數進...