Java
中被 static 修飾的成員稱爲靜態成員或類成員。它屬於整個類所有,而不是某個對象所有,即被類的所有對象所共享。
靜態成員可以使用類名直接訪問(HelloWorld.hobby),也可以使用對象名進行訪問。
在類的聲明中,可以包含多個初始化塊,當創建類的實例時,就會依次執行這些代碼塊。如果使用
static 修飾初始化塊,就稱爲靜態初始化塊。
需要特別注意:靜態初始化塊只在類加載時執行,且只會執行一次,同時靜態初始化塊只能給靜態變量賦值,不能初始化普通的成員變量。
通過輸出結果,我們可以看到,程序運行時靜態初始化塊最先被執行,然後執行普通初始化塊,最後才執行構造方法。由於靜態初始化塊只在類加載時執行一次,所以當再次創建對象
hello2 時並未執行靜態初始化塊。