構造代碼塊:
{
System.out.println("構造代碼塊執行!");
}
作用:給對象進行初始化。
對象一建立就運行,而且優先於構造函數執行。
它和構造函數的區別:
構造代碼塊是給所有對象進行統一初始化。而構造函數是給對應的對象初始化。
構造代碼塊中定義的是不同對象共性的初始化內容。
靜態代碼塊:
格式:static
{
靜態代碼塊中的執行語句。
}
特點:隨着類的加載而執行,只執行一次。
用於給類進行初始化的。
代碼:
class Test{
//構造函數
Test(){
System.out.println("b");
}
//靜態代碼塊
static{
System.out.println("a");
}
//構造代碼塊
{
System.out.println("c");
}
}
class TestDemo {
public static void main(String[] args) {
Test t = new Test();
}
}
執行結果是:a c b