更新時間:2023-04-27 來源:黑馬程序員 瀏覽量:
在Java類中,使用一對大括號包圍起來的若干行代碼被稱為一個代碼塊,用static關(guān)鍵字修飾的代碼塊稱為靜態(tài)代碼塊。當(dāng)類被加載時,靜態(tài)代碼塊會執(zhí)行,由于類只加載一次,所以靜態(tài)代碼塊只會執(zhí)行一次。在程序中,通常會使用靜態(tài)代碼塊來對類的成員變量進行初始化。接下來通過一個案例來了解靜態(tài)代碼塊的使用,如文件3-17所示。
文件3-17Car.java
package com.itheima.example09; public class Car { static String color; // 下面是一個靜態(tài)代碼塊 static { color = "red"; System.out.println("這輛車的顏色是" + color); } }
在文件3-17中可以看出,當(dāng)靜態(tài)代碼塊執(zhí)行時,會為其靜態(tài)變量賦值為“red”,并打印結(jié)果。接下來創(chuàng)建測試類Example09,在main()方法中創(chuàng)建兩個Car的實例對象c1和c2,如文件3-18所示。
文件3-18Example09.java
package com.itheima.example09; public class Example09 { public static void main(String[] args) { // 下面的代碼創(chuàng)建了兩個Car對象 Car c1 = new Car(); Car c2 = new Car(); } }
運行結(jié)果如圖3-10所示。
運行結(jié)果
從圖3-10的運行結(jié)果可以看出,在兩次創(chuàng)建對象的過程中,靜態(tài)代碼塊中的內(nèi)容只輸出了一次,這就說明靜態(tài)代碼塊在類中只會加載一次。