Java 類初始化順序

2021-08-29 22:52:24 字數 952 閱讀 4075

普通類初始化順序

靜態變數

靜態**塊

普通變數

普通**塊

建構函式

public

class

demo

// 靜態**塊

static

// 構造方法

demo()

// 用來初始化靜態變數

public

static string getstaticstring()

// 用來初始化例項變數

public

static string getstring()

public

static

void

main

(string[

] args)

}

輸出的結果:

靜態 變數 初始化

靜態 **塊 執行

例項 變數 初始化

普通 方法塊 執行

類構造 方法 執行

子類(繼承父類)初始化順序
父類靜態變數

父類靜態**塊

子類靜態變數

子類靜態**塊

父類普通變數

父類普通**塊

父類建構函式

子類普通變數

子類普通**塊

子類建構函式

子類(繼承抽象類和實現介面)初始化順序
介面靜態變數

抽象類靜態變數

抽象類靜態**塊

子類靜態變數

子類靜態**塊

抽象類普通變數

抽象類普通**塊

抽象類建構函式

子類普通變數

子類普通**塊

子類建構函式

Java類初始化順序

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

java類初始化順序

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

java類初始化順序

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