Java類初始化2

2021-07-10 22:50:29 字數 458 閱讀 6801

public

class test2

}class t

t()int a=5;

static

int b=7;

}class g

g()}

輸出:

main starts

g starts

t starts

說明:

1、」從main進入「輸出「main starts」定義變數t t=new t();

2、載入類t,初始化類t中的static塊兒,這裡的static塊只會執行一次

3、其中這時又載入類g,初始化b=5,然後輸出g starts,g有了值,

4、之後初始化static b=7,然後初始化a=5,然後輸出t starts,這個static只會執行一次

5、然後t也就有了值

java 類的初始化

載入順序 啟動類的static block最先載入 父類靜態成員 靜態 塊 子類靜態成員 靜態 塊 父類例項成員 塊 父類建構函式 子類例項成員 塊 子類建構函式 class singleton public static singleton getinstence public class tes...

Java類初始化順序

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

java類初始化順序

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