java類初始化順序

2021-08-30 07:18:17 字數 1216 閱讀 2823

public class initialordertest     

// 初始化塊

// 構造器

public initialordertest()

public static void main(string args)

}

執行以上**,我們會得到如下的輸出結果:

1. 靜態變數

2. 靜態初始化塊

3. 變數

4. 初始化塊

5. 構造器

class parent     

// 初始化塊

// 構造器

public parent()

}

public class subclass extends parent     

// 初始化塊

// 構造器

public subclass()

// 程式入口

public static void main(string args)

}

執行一下上面的**,結果馬上呈現在我們的眼前:

1. 父類--靜態變數

2. 父類--靜態初始化塊

3. 子類--靜態變數

4. 子類--靜態初始化塊

5. 父類--變數

6. 父類--初始化塊

7. 父類--構造器

8. 子類--變數

9. 子類--初始化塊

10. 子類--構造器

public class testorder     

// 靜態變數

public static testb b = new testb();

public static void main(string args)

}

class testa

}

class testb

}

執行上面的**,會得到如下的結果:

1. test--a

2. 靜態初始化塊

3. test--b

Java類初始化順序

類的初始化順序 首先執行父類靜態的內容,父類靜態的內容執行完畢後,接著去執行子類的靜態的內容,當子類的靜態內容執行完畢之後,再去看父類有沒有非靜態 塊,如果有就執行父類的非靜態 塊,父類的非靜態 塊執行完畢,接著執行父類的構造方法 父類的構造方法執行完畢之後,它接著去看子類有沒有非靜態 塊,如果有就...

java類初始化順序

我們大家都知道,對於靜態變數 靜態初始化塊 變數 初始化塊 構造器,它們的初始化順序依次是 靜態變數 靜態初始化塊 變數 初始化塊 構造器。我們也可以通過下面的測試 來驗證這一點 public class initialordertest 初始化塊 構造器 public initialorderte...

java類初始化順序

我們大家都知道,對於靜態變數 靜態初始化塊 變數 初始化塊 構造器,它們的初始化順序依次是 靜態變數 靜態初始化塊 變數 初始化塊 構造器。我們也可以通過下面的測試 來驗證這一點 public class initialordertest 初始化塊 構造器 public initialorderte...