<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
    主站蜘蛛池模板: 美景之屋4在线未删减免费| 国产免费牲交视频| 麻豆国产VA免费精品高清在线| 亚洲精品中文字幕乱码| 亚洲 另类 无码 在线| 国产免费A∨在线播放| 亚洲精品国产首次亮相| 亚洲第一成年网站大全亚洲| 亚洲日韩精品一区二区三区无码 | 成人激情免费视频| 美女的胸又黄又www网站免费| 亚洲成aⅴ人片在线观| 日本19禁啪啪无遮挡免费动图| 97在线视频免费| 亚洲av无码专区在线电影天堂| 黑人大战亚洲人精品一区| 在线观看免费视频资源| 亚洲爆乳少妇无码激情| 亚洲人成免费电影| 亚洲av片劲爆在线观看| 亚洲人成人一区二区三区| 久久精品亚洲男人的天堂| 亚洲av手机在线观看| 国产在线ts人妖免费视频| 24小时日本电影免费看| 久久久久免费看黄a级试看| 亚洲国产美女精品久久久| 亚洲综合丁香婷婷六月香| 亚洲熟妇av一区二区三区漫画| 亚洲成av人片在线观看天堂无码 | 老司机亚洲精品影院| 亚洲国产精品视频| 免费在线观看黄色毛片| 成人免费视频69| h片在线免费观看| a级毛片免费全部播放无码| 亚洲AV永久无码精品网站在线观看 | 国产综合精品久久亚洲| 亚洲欧洲精品成人久久奇米网 | 亚洲AV无码国产一区二区三区| 亚洲另类自拍丝袜第五页|