靜態代碼塊:
在類中,可以將某一塊代碼聲明為靜態的,這樣的程序塊叫靜態初始化段。靜態代碼塊的一般形式如下:
static { 語句序列 }
public class staticBlock{ //定義一個普通的main()方法 public static void main(String args[]){ System.out.println("This is main method."); } //定義一個靜態代碼塊 static{ System.out.println("This is static block."); int stVar = 0; //這是一個局部變量,只在本塊內有效 } }
編譯通過后,用java命令加載本程序,會得到如下輸出:
This is static block.
This is main method.
從以上輸出結果中可以看出,靜態代碼塊甚至在main方法之前就被執行。
實例化代碼塊:
a.實例代碼塊可以編寫多個,也是遵循自上而下的順序依次執行
b.實例代碼塊只有在實例化對象的時候才會執行。
c.實例化代碼塊在構造方法之前執行,構造方法執行時,實例代碼對應執行一次。
d.實例代碼塊也是java語言為程序員准備的一個特殊時機,這個特殊時機被稱為:對象初始化時機