日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
java靜態(tài)代碼塊和靜態(tài)變量

Java靜態(tài)代碼塊和靜態(tài)變量是Java編程中的重要概念,它們在類加載時執(zhí)行,且只會執(zhí)行一次,本文將詳細介紹Java靜態(tài)代碼塊和靜態(tài)變量的概念、特點、用法以及實例。

創(chuàng)新互聯(lián)專注于企業(yè)網(wǎng)絡營銷推廣、網(wǎng)站重做改版、寶興網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、H5場景定制商城網(wǎng)站建設、集團公司官網(wǎng)建設、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為寶興等各大城市提供網(wǎng)站開發(fā)制作服務。

靜態(tài)變量

1、概念

靜態(tài)變量(Static Variable)是一種特殊的成員變量,它屬于類而不是類的實例,靜態(tài)變量在類加載時分配內(nèi)存空間,且只會分配一次,所有實例共享同一個靜態(tài)變量的值。

2、特點

靜態(tài)變量屬于類,而不是類的實例。

靜態(tài)變量在類加載時分配內(nèi)存空間,且只會分配一次。

所有實例共享同一個靜態(tài)變量的值。

靜態(tài)變量可以通過類名直接訪問,也可以通過實例訪問。

3、用法

靜態(tài)變量通常用于存儲類的全局狀態(tài)或常量。

public class MyClass {
    public static int num = 0; // 定義一個靜態(tài)變量num
}

4、實例

public class MyClass {
    public static int num = 0; // 定義一個靜態(tài)變量num
    public static void main(String[] args) {
        MyClass obj1 = new MyClass();
        MyClass obj2 = new MyClass();
        obj1.num = 10; // 修改靜態(tài)變量的值
        System.out.println("obj1.num: " + obj1.num); // 輸出:obj1.num: 10
        System.out.println("obj2.num: " + obj2.num); // 輸出:obj2.num: 10
    }
}

靜態(tài)代碼塊

1、概念

靜態(tài)代碼塊(Static Block)是一種特殊的代碼塊,它在類加載時執(zhí)行,且只會執(zhí)行一次,靜態(tài)代碼塊通常用于初始化靜態(tài)變量或執(zhí)行其他需要在類加載時完成的操作。

2、特點

靜態(tài)代碼塊在類加載時執(zhí)行,且只會執(zhí)行一次。

靜態(tài)代碼塊可以訪問靜態(tài)變量和其他靜態(tài)代碼塊。

靜態(tài)代碼塊不能訪問非靜態(tài)成員(如實例變量和普通方法)。

3、用法

靜態(tài)代碼塊通常用于初始化靜態(tài)變量或執(zhí)行其他需要在類加載時完成的操作。

public class MyClass {
    public static int num = 0; // 定義一個靜態(tài)變量num
    static { // 定義一個靜態(tài)代碼塊
        num = 10; // 初始化靜態(tài)變量的值
        System.out.println("靜態(tài)代碼塊執(zhí)行"); // 輸出:靜態(tài)代碼塊執(zhí)行
    }
}

4、實例

public class MyClass {
    public static int num = 0; // 定義一個靜態(tài)變量num
    static { // 定義一個靜態(tài)代碼塊
        num = 10; // 初始化靜態(tài)變量的值
        System.out.println("靜態(tài)代碼塊執(zhí)行"); // 輸出:靜態(tài)代碼塊執(zhí)行
    }
    public static void main(String[] args) {
        System.out.println("main方法執(zhí)行"); // 輸出:main方法執(zhí)行
        System.out.println("num: " + num); // 輸出:num: 10
    }
}

靜態(tài)代碼塊與靜態(tài)變量的區(qū)別與聯(lián)系

1、區(qū)別:

作用不同:靜態(tài)變量用于存儲類的全局狀態(tài)或常量,而靜態(tài)代碼塊用于初始化靜態(tài)變量或執(zhí)行其他需要在類加載時完成的操作。

執(zhí)行時機不同:靜態(tài)變量在類加載時分配內(nèi)存空間,而靜態(tài)代碼塊在類加載時執(zhí)行,但只有當靜態(tài)代碼塊被執(zhí)行時,才會對靜態(tài)變量進行初始化。

訪問權(quán)限不同:靜態(tài)變量可以通過類名直接訪問,也可以通過實例訪問;而靜態(tài)代碼塊只能通過類名訪問。

生命周期不同:靜態(tài)變量的生命周期與類相同,只要類存在,靜態(tài)變量就存在;而靜態(tài)代碼塊只在類加載時執(zhí)行一次,之后不再執(zhí)行。

2、聯(lián)系:

都是屬于類的成員,而不是類的實例。

都可以在類加載時執(zhí)行特定的操作。


新聞名稱:java靜態(tài)代碼塊和靜態(tài)變量
標題鏈接:http://www.5511xx.com/article/cddddsh.html