static靜態初始化塊

2022-09-16 08:24:09 字數 546 閱讀 7054

j**a 中可以通過初始化塊進行資料賦值。如:

在類的宣告中,可以包含多個初始化塊,當建立類的例項時,就會依次執行這些**塊。如果使用 static 修飾初始化塊,就稱為靜態初始化塊。

需要特別注意:靜態初始化塊只在類載入時執行,且只會執行一次,同時靜態初始化塊只能給靜態變數賦值,不能初始化普通的成員變數

我們來看一段**:

執行結果:

通過輸出結果,我們可以看到,程式執行時靜態初始化塊最先被執行,然後執行普通初始化塊,最後才執行構造方法。由於靜態初始化塊只在類載入時執行一次,所以當再次建立物件 hello2 時並未執行靜態初始化塊。

static之靜態初始化塊

所有的靜態初始化塊都優先執行,其次才是非靜態的初始化塊和建構函式,它們的執行順序是 父類的靜態初始化塊 子類的靜態初始化塊 父類的初始化塊 父類的建構函式 子類的初始化塊 子類的建構函式 也就是說程式執行時 靜態初始化塊最先被執行,然後執行普通初始化塊,最後才執行構造方法。由於靜態初始化塊只在類載入...

初始化塊和靜態初始化塊

初始化塊的使用 變數,靜態變數,方法,靜態方法 由圖可知變數沒問題 上面的方法不可行能否初始化靜態方法 嘗試使用初始化塊初始化構造方法 最後比較一下構造方法初始化,初始化塊初始化,靜態初始化塊初始化當中誰最先被初始化 package staticinitializelump public class...

靜態初始化塊 初始化塊 構造方法

1.所有的靜態初始化塊都優先執行,其次才是非靜態的初始化塊和建構函式,它們的執行順序是 1 父類的靜態初始化塊 2 子類的靜態初始化塊 3 父類的初始化塊 4 父類的建構函式 5 子類的初始化塊 6 子類的建構函式 注意 1 此處的構造方法需要與自己的類名相同,2 靜態 初始化塊需要用 2.構造方法...