Java程式初始化順序

2021-07-28 08:48:12 字數 281 閱讀 7758

靜態優先於非靜態。具體指的是靜態的變數或者是物件優先於非靜態的變數或者是物件。並且,靜態只初始化一次,而非靜態可能會初始化多次。

父類優先於子類進行初始化。

按照成員變數定義的順序進行初始化,並且成員變數優先成員方法。

上面說的可能有點抽象,也不能快速的進行判斷,下面是在真正的程式中初始化的順序:

父類靜態變數——>父類靜態**塊——>子類靜態變數——>子類靜態**塊——>父類非靜態變數——>父類非靜態**塊——>父類建構函式——>子類非靜態變數——>子類非靜態**塊——>子類建構函式

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 新建物件例項,對非靜態的成員變數進...