教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

static靜態(tài)代碼塊怎么使用?【案例演示】

更新時(shí)間:2022年04月21日10時(shí)52分 來(lái)源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

在Java類中,使用一對(duì)大括號(hào)包圍起來(lái)的若干行代碼被稱為一個(gè)代碼塊,用static關(guān)鍵字修飾的代碼塊稱為靜態(tài)代碼塊。當(dāng)類被加載時(shí),靜態(tài)代碼塊會(huì)執(zhí)行,由于類只加載一次,所以靜態(tài)代碼塊只會(huì)執(zhí)行一次。在程序中,通常會(huì)使用靜態(tài)代碼塊來(lái)對(duì)類的成員變量進(jìn)行初始化。接下來(lái)通過(guò)一個(gè)案例來(lái)了解靜態(tài)代碼塊的使用,如文件3-17所示。

文件3-17Car.java

package com.itheima.example09;
public class Car {
    static String color;
    // 下面是一個(gè)靜態(tài)代碼塊
    static {
        color = "red";
        System.out.println("這輛車(chē)的顏色是" + color);
    }
}

在文件3-17中可以看出,當(dāng)靜態(tài)代碼塊執(zhí)行時(shí),會(huì)為其靜態(tài)變量賦值為“red”,并打印結(jié)果。接下來(lái)創(chuàng)建測(cè)試類Example09,在main()方法中創(chuàng)建兩個(gè)Car的實(shí)例對(duì)象c1和c2,如文件3-18所示。

文件3-18Example09.java

package com.itheima.example09;
public class Example09 {
    public static void main(String[] args) {
        // 下面的代碼創(chuàng)建了兩個(gè)Car對(duì)象
        Car c1 = new Car();
        Car c2 = new Car();
    }
}

運(yùn)行結(jié)果如圖3-10所示。

靜態(tài)代碼塊執(zhí)行操作

運(yùn)行結(jié)果

從圖3-10的運(yùn)行結(jié)果可以看出,在兩次創(chuàng)建對(duì)象的過(guò)程中,靜態(tài)代碼塊中的內(nèi)容只輸出了一次,這就說(shuō)明靜態(tài)代碼塊在類中只會(huì)加載一次。




猜你喜歡:

使用static關(guān)鍵字如何定義成員變量?

什么是靜態(tài)內(nèi)部類?怎樣定義靜態(tài)內(nèi)部類

Nginx靜態(tài)資源配置命令介紹

傳智教育Java高級(jí)軟件工程師培訓(xùn)課程

0 分享到:
和我們?cè)诰€交談!