qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請?jiān)L問 http://qaseven.github.io/

          詳解Java中staitc關(guān)鍵字

           一、static定義
            static是靜態(tài)修飾符意思,什么叫靜態(tài)修飾符呢?大家都知道,在程序中任何變量或者代碼都是在編譯時(shí)由系統(tǒng)自動分配內(nèi)存來存儲的,而所謂靜態(tài)就是指在編譯后所分配的內(nèi)存會一直存在,直到程序退出內(nèi)存才會釋放這個(gè)空間,也就是只要程序在運(yùn)行,那么這塊內(nèi)存就會一直存在。這樣做有什么意義呢?
            在Java程序里面,萬物皆對象,而對象的抽象就是類,對于一個(gè)類而言,如果要使用他的成員,那么普通情況下必須先實(shí)例化對象后,通過對象的引用才能夠訪問這些成員,但是有種情況例外,就是該成員是用static聲明的。
            static聲明的靜態(tài)變量可以直接通過類名調(diào)用!
          1 class Demo{
          2     public static void main(String[] args)
          3     {
          4         Person p = new Person();
          5         System.out.println(p.country);        //1、新建對象調(diào)用
          6         System.out.println(Person.country); //2、通過類名直接調(diào)用
          7     }
          8 }
          9 class Person{
          10     static String country = "china";
          11 }
            二、static特點(diǎn)
            由此我們得出static的特點(diǎn)。
            a、static是一個(gè)修飾符,用于修飾成員。
            b、static修飾的成員被所有的對象共享。
            c、static優(yōu)先于對象存在,static成員隨著類的加載就已經(jīng)存在。
            d、static修飾成員多一種調(diào)用方式--通過類名調(diào)用。
            三、成員變量和靜態(tài)變量區(qū)別?
            1.兩個(gè)變量的生命周期同
            成員變量隨對象創(chuàng)建存在,隨對象回收而釋放。
            靜態(tài)變量隨類的加載而存在,同樣也隨著類而消失。
            2、調(diào)用方式
            成員變量只能被對象調(diào)用。
            靜態(tài)變量能被對象調(diào)用,還可以被類名調(diào)用。
            3、內(nèi)存中存儲位置不同。
            成員變量存儲在堆內(nèi)存中。
            靜態(tài)變量存儲在方法區(qū)(共享數(shù)據(jù)區(qū))的靜態(tài)區(qū)。
            四、靜態(tài)使用注意事項(xiàng)
            1、靜態(tài)方法只能訪問靜態(tài)成員。
            2、靜態(tài)方法中不可以用this或super關(guān)鍵字。
            3、主函數(shù)都是靜態(tài)的。
          class Demo{
          public static void main(String[] args)
          {
          Person.show();
          }
          }
          class Person{
          static String country = "china";
          String name = "jinfulin";
          public static void show()
          {
          System.out.print(country);    //正確
          //System.out.print(name);    //錯(cuò)誤
          }
          }

          posted on 2014-11-14 10:02 順其自然EVO 閱讀(355) 評論(1)  編輯  收藏 所屬分類: 測試學(xué)習(xí)專欄

          評論

          # re: 詳解Java中staitc關(guān)鍵字 2014-11-19 20:53 faker

          寫得很棒啊!謝謝!  回復(fù)  更多評論   

          <2014年11月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 榆中县| 肥城市| 合水县| 花莲市| 中方县| 离岛区| 垦利县| 郓城县| 安新县| 和硕县| 陆河县| 盐亭县| 乃东县| 海晏县| 岳普湖县| 辽源市| 太仓市| 安吉县| 肥城市| 长岭县| 岳普湖县| 阿瓦提县| 和田县| 三亚市| 鄂托克旗| 湘阴县| 房产| 内乡县| 台北市| 明光市| 兴义市| 体育| 九江县| 文昌市| 长宁县| 西宁市| 盐山县| 布尔津县| 手游| 澄城县| 清水县|