構造代碼塊的作用:
- 給對象進行統一的初始化。
構造函數的作用:
- 給對應的對象進行初始化。
構造代碼塊的格式:
{
構造代碼塊
}
構造代碼塊注意:
- 構造代碼塊的大括號必須位於成員位置上
構造代碼塊代碼的執行時間:
- 在創建對象的時候先執行。
- java編譯器編譯一個java源文件的時候,會把成員變量的聲明語句提前至一個類的最前端。
- 一旦經過java編譯器編譯後,那麼構造代碼塊的代碼塊就會被移動構造函數中執行,是在構造函數之前執行的,構造函數的中代碼是最後執行的。
- 成員變量的顯示初始化與構造代碼塊的代碼是按照當前代碼的順序執行的。
代碼塊的類別:
- 構造代碼塊
- 局部代碼塊: 大括號位於方法之內。 作用:縮短局部 變量 的生命週期,節省一點點內存,用處不大。
- 靜態代碼塊: static
class Demo5
{
//構造函數
public Demo5(){ //構造函數
i = 300000000;
}
//構造代碼塊 //構造代碼塊的初始化
{
i = 200000000;
}
int i = 100000000; //成員變量的顯初始化
public static void main(String[] args)
{
Demo5 d = new Demo5();
System.out.println("i = "+d.i);
}
}