<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-208  評論-469  文章-30  trackbacks-0

    static修飾符可以用來修飾類的成員變量、成員方法和代碼塊。
    用static修飾的成員變量表示靜態變量,可以直接通過類名來訪問;
    用static修飾的成員方法表示靜態方法,可以直接通過類名來訪問;
    用static修飾的程序代碼塊表示靜態代碼塊,當Java虛擬機加載類時,就會執行該代碼塊。
    static變量
    ???
    ??? (1)靜態變量與實例變量的區別:
    靜態變量在內存中只有一個拷貝,運行時Java虛擬機只為靜態變量分配一次內存,在加載類的過程中完成靜態類變量的內存分配??梢灾苯油ㄟ^類名訪問靜態變量;
    對于實例變量,每創建一個實例,就會為實例變量分配一次內存,實例變量可以在內存中有多個拷貝,互不影響。
    ??? (2)static變量,提供了全局變量的功能:
    能被類的所有實例共享,可作為實例之間進行交流的共享數據;
    如果類的所有實例都包含一個相同的常量屬性,可以把這個屬性定義為靜態常量類型,從而節省內存空間。
    static方法

    ??? (1)靜態方法可訪問的內容

    ??? 靜態方法不需要實例化就可以被調用,因此在靜態方法中不能使用this, super關鍵字,也不能直接訪問所屬類的實例變量和實例方法,但是可以直接訪問所屬類的靜態變量和靜態方法。

    ??? (2)實例方法可訪問的內容

    ??? 在實例方法中可以直接訪問所屬類的靜態變量、靜態方法、實例變量和實例方法。

    ??? (3)靜態方法必須被實現

    ??? (4)作為程序入口的main()方法是靜態方法
    ???
    ??? main()方法必須用static修飾,這是因為把main()定義為靜態方法,可以使得Java虛擬機只要加載了main()方法所屬的類,就能執行main()方法,而無須先創建這個類的實例。
    ??? 在main()靜態方法也是不能直接訪問實例變量和實例方法的。

    ??? (5)方法的字節碼都位于方法區
    ???
    ??? 不管實例方法,還是靜態方法,它們的字節碼都位于方法區內。

    static代碼塊

    ??? 類中可以包含靜態代碼塊,它不存在任何方法體中。在Java虛擬機加載類時會執行這些靜態代碼塊,每個靜態代碼塊只會被執行一次。
    ??? Tips:
    Java虛擬機加載靜態代碼塊后,再執行main()方法;
    類的構造方法用于初始化類的實例,而類的靜態代碼塊則可用于初始化類,給類的靜態變量賦初始化值。
    靜態代碼塊與靜態方法一樣,也不能直接訪問類的實例變量和實例方法,而必須通過實例的引用來訪問它們。

    posted on 2006-11-29 00:44 EricWong 閱讀(269) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 一级做a爰片性色毛片免费网站| 久久亚洲精品成人777大小说| 中文字幕亚洲综合小综合在线| **一级毛片免费完整视| 亚洲尹人香蕉网在线视颅| 成人免费区一区二区三区| 亚洲中文久久精品无码ww16| 成人免费av一区二区三区| 亚洲欧洲美洲无码精品VA| a级毛片100部免费观看| 亚洲国产一区国产亚洲| 四虎精品视频在线永久免费观看 | 在线观看视频免费国语| 亚洲天堂免费在线| 成在线人永久免费视频播放| 精品特级一级毛片免费观看| 亚洲中文字幕伊人久久无码| 国产午夜免费高清久久影院| 亚洲综合激情九月婷婷| 中文字幕无码免费久久99| 亚洲av片在线观看| 国产精品亚洲αv天堂无码| 3344在线看片免费| 亚洲AV无码乱码麻豆精品国产| 女人18毛片免费观看| 一级女性全黄久久生活片免费 | 精品亚洲aⅴ在线观看| 国产免费看JIZZ视频| 老湿机一区午夜精品免费福利 | 国产h视频在线观看免费| 亚洲AV综合永久无码精品天堂| 亚洲美女高清一区二区三区 | 亚洲日韩国产精品乱| 久久午夜免费鲁丝片| 亚洲av日韩精品久久久久久a | 亚洲av成人一区二区三区| 全部免费毛片在线| 特级无码毛片免费视频尤物| 亚洲国产精品无码第一区二区三区| 国产午夜亚洲精品理论片不卡 | 亚洲色大成网站www尤物|