2020久久超碰欧美精品最新亚洲欧美日韩久久精品,国产福利电影一区二区三区,亚洲欧美日韩一区在线观看,亚洲国产欧美日韩欧美特级,亚洲欧美日韩成人一区久久,欧美日韩精品一区二区三区不卡,国产欧美日韩va另类影音先锋,亚洲欧美日韩久久精品,亚洲欧美日韩国产成人精品影院,亚洲国产欧美日韩精品一区二区三区,欧美日韩国产成人高清视频,日韩久久精品国产免费观看频道,久久人人爽人人爽从片av高清,国产精品综合一区二区

首頁常見問題正文

靜態變量和實例變量的區別?

更新時間:2023-05-15 來源:黑馬程序員 瀏覽量:

IT培訓班

  在Java中,靜態變量和實例變量是兩種不同的變量類型,它們有以下的區別:

  1.靜態變量屬于類,而不是類的任何實例。實例變量屬于類的實例。

  2.靜態變量只有一個副本,無論類被實例化多少次,它始終是相同的。實例變量每個實例都有自己的副本。

  3.靜態變量可以直接從類中訪問,無需實例化。實例變量必須通過實例化對象后才能訪問。

1684116592119_Java靜態變量和實例變量的區別.jpg

  接下來我們看一段簡單的Java代碼示例,演示靜態變量和實例變量的區別:

public class Example {
    static int staticVariable = 10; // 靜態變量
    int instanceVariable = 20; // 實例變量

    public static void main(String[] args) {
        Example obj1 = new Example();
        Example obj2 = new Example();

        // 靜態變量可以通過類名直接訪問
        System.out.println("靜態變量staticVariable值為:" + Example.staticVariable);

        // 實例變量必須通過實例對象訪問
        System.out.println("obj1的實例變量instanceVariable值為:" + obj1.instanceVariable);
        System.out.println("obj2的實例變量instanceVariable值為:" + obj2.instanceVariable);

        // 修改靜態變量的值
        Example.staticVariable = 30;

        // 打印修改后的靜態變量值
        System.out.println("靜態變量staticVariable值為:" + Example.staticVariable);
        System.out.println("obj1的靜態變量staticVariable值為:" + obj1.staticVariable);
        System.out.println("obj2的靜態變量staticVariable值為:" + obj2.staticVariable);

        // 修改實例變量的值
        obj1.instanceVariable = 40;

        // 打印修改后的實例變量值
        System.out.println("obj1的實例變量instanceVariable值為:" + obj1.instanceVariable);
        System.out.println("obj2的實例變量instanceVariable值為:" + obj2.instanceVariable);
    }
}

  輸出結果如下:

靜態變量staticVariable值為:10
obj1的實例變量instanceVariable值為:20
obj2的實例變量instanceVariable值為:20
靜態變量staticVariable值為:30
obj1的靜態變量staticVariable值為:30
obj2的靜態變量staticVariable值為:30
obj1的實例變量instanceVariable值為:40
obj2的實例變量instanceVariable值為:20

  可以看到,靜態變量只有一個副本,可以通過類名直接訪問。實例變量每個實例都有自己的副本,必須通過實例對象訪問。當修改靜態變量時,所有實例都會受到影響。當修改實例變量時,只有該實例會受到影響。

分享到:
在線咨詢 我要報名
和我們在線交談!