<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                這一節我們看一看成員變量與靜態變量的區別所在。 什么是靜態變量呢?我們上節用static關鍵字時就提到了靜態變量。也就是說用static關鍵字修飾的變量就是靜態變量。 我們在6.4節學習了成員變量與局部變量的區別,這一節我們重點看看成員變量與靜態變量之間的區別。 我們看代碼: ~~~ class Person { String name;//姓名,這是一個成員變量 static String country = "中國";//國籍,這是一個靜態變量 public void printInfo() { System.out.println(name+":"+country); } } ~~~ 上面的代碼中我們可以看到變量name是一個成員變量,而country是一個靜態變量,用static關鍵字修飾。 這里我們通過上一節static關鍵字的特點和成員變量的特點我們總結四個方面的區別: **1.兩個變量的生命周期不同:** 成員變量:隨著對象的創建而存在,隨著對象的被回收而釋放。 靜態變量:隨著類的加載而存在,隨著類的消失而消失。 那么類什么時候消失呢?一般情況下,虛擬機結束了,類就結束了,當然這只是說一般情況下。 **2.兩個變量的調用方式不同:** 我們來看一個上面代碼的測試: ~~~ class StaticTest { public static void main(String[] args) { Person p = new Person(); p.name = "小強"; String name = Person.name; System.out.println(p.country+"--"+Person.country); } } ~~~ 結果: ![](https://box.kancloud.cn/2016-05-18_573c41ed0e6e3.jpg) 我們可以看到直接用類名來調用成員變量就會出現“無法從靜態上下文中訪問非靜態變量”的錯誤。 當我們把這名話注釋之后再來運行: ~~~ class StaticTest { public static void main(String[] args) { Person p = new Person(); p.name = "小強"; //String name = Person.name; System.out.println(p.country+"--"+Person.country); } } ~~~ 結果: ![](https://box.kancloud.cn/2016-05-18_573c41ed20159.jpg) 程序正常運行并合法訪問,所以我們可以總結出下面的區別: 成員變量:只能被對象調用。 靜態變量:既可被對象調用,也可被類調用。上一節我們就已經學習了static修飾的成員可以直接用類名調用。 **3.兩個變量的別名不同:** 成員變量:又稱為實例變量。 靜態變量:又稱為類變量。 **4.兩個變量的存儲位置不同:** 成員變量:存儲在堆內存中的對象中,所以也叫對象的特有數據。 靜態變量:存儲在方法區(共享數據區)的靜態區中,所以也叫類的共享數據。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看