<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                這一節我們來學習java語言中一個新的關鍵字就是static關鍵字。 當然對于每一個關鍵字,我們都要明確的是它有什么作用,怎么用。我們先來看一個例子: ~~~ class Person { String name;//姓名 String country = "中國";//國籍 public void printInfo() { System.out.println(name+":"+country); } } class StaticTest { public static void main(String[] args) { Person p = new Person(); p.name = "小強"; p.printInfo(); Person p1 = new Person(); p1.name = "小明"; p1.printInfo(); Person p2 = new Person(); p2.name = "小紅"; p2.printInfo(); } } ~~~ 我們看看這個例子的運行結果: ![](https://box.kancloud.cn/2016-05-18_573c41ecdb674.jpg) 我們會發現創建的三個對象中,姓名不同,但是國籍是相同的,那么對于很多個對象呢,國籍是相同的,那么我們就會想能不能把國籍獨立起來放到一個空間中供所有對象直接引用就可以了,而在對象中只需要有姓名這個屬性即可。 java語言給我了我們解決這個問題的途徑,那就是我們現在要說的static關鍵字。 很明顯,我們也就明確了static關鍵字的作用:就是把特有數據謎面所有對象都能共享的數據,也稱為對象的共享數據。 那么上面的代碼用static關鍵字進行優化: ~~~ class Person { String name;//姓名 static String country = "中國";//國籍 public void printInfo() { System.out.println(name+":"+country); } } ~~~ 當然結果還是我們上面看到的結果,但是實際上,內存中會把country專門存放在一個獨立的空間中,而每個對象中都只有name屬性,這樣就節省了很多不必須的空間。 我們剛才看了static關鍵字的作用,那么下面我們再來看static關鍵字有哪些特點呢? 我們通過上面的例子,引申總結出以下四條特點: **1.static既是關鍵字,也是修飾符,用于修飾成員。**這里的成員就是成員變量和成員函數。 **2.static關鍵字修飾的數據是共享數據。**我們前面看到了static的作用就是修飾共享數據,而對象中存儲的數據就是每個對象的特有數據。 **3.static關鍵字修飾的成員隨著類的加載而加載。**這是由于static修飾的數據要被所有對象共享,所以要在對象共享之前就存在,因此java語言就賦予了static這樣的功能。 **4.static關鍵字修飾的成員優先于對象存在,**因為static成員是隨著類的加載面存在的。 **5.static關鍵字修飾的成員多了一種調用方法,可以直接被類名調用,即:類名.靜態成員 的調用方式。** 比如上面的例子中,我們可以這樣調用: ~~~ class StaticTest { public static void main(String[] args) { Person p = new Person(); //p.name = "小強"; //p.printInfo(); System.out.println(Person.country); } } ~~~ 結果: ![](https://box.kancloud.cn/2016-05-18_573c41eceed4b.jpg) 我們看到staitc修飾的成員我們可以直接用類名去調用,也就是說我們不需要創建對象就可以直接調用,因為static成員隨著類的加載而存在,實現了相同數據被不多個對象的共享。 當然,既然我們的java是面向對象語言,如果我們把所有的成員都用static修飾,也就是說沒有對象了,那是一件多么可怕的事情呢。但是,不管怎么說,共享數據個人認為確實還是比較爽的。
                  <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>

                              哎呀哎呀视频在线观看