Java 初始化順序

2021-08-19 10:24:11 字數 634 閱讀 5176

在有全域性變數、靜態全域性變數、**塊、靜態**塊、構造器,如果子類繼承父類,那麼初始化順序是如何的呢?下面用乙個簡單的例子做實驗

public class parent 

static

public parent()

public void geta()

}

child子類,並繼承父類

public class child extends parent

static

public child()

}

然後寫乙個初始化方法

child c = new child();

c.geta();

得到測試結果:

父類靜態**塊中的值3

父類靜態**塊中的值4

子類靜態**塊中的值13

子類靜態塊中的值14

父類**塊中的值1

父類**塊中的值2

父類構造器

子類**塊中的值11

子類**塊中的值12

子類構造器

parent

乙個小小的實驗,初始化順序就一目了然!

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