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

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

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

    posts - 110, comments - 101, trackbacks - 0, articles - 7
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    java static塊和static 方法 的使用區別

    Posted on 2011-11-14 16:15 云云 閱讀(4835) 評論(1)  編輯  收藏

    Static 靜態:這里主要記錄的是靜態程序塊和靜態方法

    如果有些代碼必須在項目啟動的時候就執行,就需要使用靜態代碼塊,這種代碼是主動執行的;需要在項目啟動的時候就初始化但是不執行,在不創建對象的情況下,可以供其他程序調用,而在調用的時候才執行,這需要使用靜態方法,這種代碼是被動執行的. 靜態方法在類加載的時候 就已經加載 可以用類名直接調用。

    靜態代碼塊和靜態方法的區別是:


    靜態代碼塊是自動執行的;

    靜態方法是被調用的時候才執行的.

    靜態方法:如果我們在程序編寫的時候需要一個不實例化對象就可以調用的方法,我們就可以使用靜態方法,具體實現是在方法前面加上static,如下:

    public static void method(){}

    在使用靜態方法的時候需要注意一下幾個方面:

    在靜態方法里只能直接調用同類中其他的靜態成員(包括變量和方法),而不能直接訪問類中的非靜態成員。這是因為,對于非靜態的方法和變量,需要先創建類的實例對象后才可使用,而靜態方法在使用前不用創建任何對象。(備注:靜態變量是屬于整個類的變量而不是屬于某個對象的)

    靜態方法不能以任何方式引用this和super關鍵字,因為靜態方法在使用前不用創建任何實例對象,當靜態方法調用時,this所引用的對象根本沒有產生。

    靜態程序塊:當一個類需要在被載入時就執行一段程序,這樣可以使用靜態程序塊。

    public class DemoClass {

    private DemoClass(){}

    public static DemoClass _instance;

    static{

    if(null == _instance ){

    _instance = new DemoClass();

    }

    }

    public static DemoClass getInstance(){

    return _instance;

    }

    }

    這樣的程序在類被加載的時候就執行了static中的代碼。

    Ps:java中類的裝載步驟:

    在Java中,類裝載器把一個類裝入Java虛擬機中,要經過三個步驟來完成:裝載、鏈接和初始化,其中鏈接又可以分成校驗、準備和解析三步,除了解析外,其它步驟是嚴格按照順序完成的,各個步驟的主要工作如下:

    所謂裝載就是尋找一個類或是一個接口的二進制形式并用該二進制形式來構造代表這個類或是這個接口的class對象的過程。其中類或接口的名稱是給定了的。

    裝載:查找和導入類或接口的二進制數據;

    鏈接:執行下面的校驗、準備和解析步驟,其中解析步驟是可以選擇的;

    校驗:檢查導入類或接口的二進制數據的正確性;

    準備:給類的靜態變量分配并初始化存儲空間;

    解析:將符號引用轉成直接引用;

    初始化:激活類的靜態變量的初始化Java代碼和靜態Java代碼塊

    本篇文章來源于 Linux公社網站(www.linuxidc.com)  原文鏈接:http://www.linuxidc.com/Linux/2010-03/24783.htm


    評論

    # re: java static塊和static 方法 的使用區別  回復  更多評論   

    2016-07-20 19:49 by zhangsan
    sss

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 久久99精品视免费看| 国产亚洲真人做受在线观看| 久久久久亚洲精品天堂久久久久久 | 亚洲色大成WWW亚洲女子| 免费视频成人手机在线观看网址| 暖暖免费高清日本中文| 亚洲精品亚洲人成在线观看麻豆| 中文字幕无线码免费人妻| 国产免费av片在线无码免费看| 国产成人亚洲合集青青草原精品 | 99re在线精品视频免费| 2022年亚洲午夜一区二区福利| 最好看的中文字幕2019免费| 亚洲中文无码线在线观看| 成人毛片18岁女人毛片免费看| jizzjizz亚洲日本少妇| 亚洲综合图色40p| 8888四色奇米在线观看免费看| 亚洲人成网男女大片在线播放| 成人免费无码大片a毛片软件| 黄页视频在线观看免费| 国产乱辈通伦影片在线播放亚洲 | 亚洲视频网站在线观看| 久久精品无码一区二区三区免费| 亚洲精品乱码久久久久久蜜桃图片| 四色在线精品免费观看| 久久av免费天堂小草播放| 久久亚洲日韩精品一区二区三区| 18禁无遮挡无码网站免费| 日韩一级片免费观看| 亚洲a在线视频视频| 成熟女人牲交片免费观看视频| 免费无码婬片aaa直播表情| 亚洲AV无码AV男人的天堂| 午夜免费福利网站| 国产精品免费视频观看拍拍| 亚洲色图古典武侠| 亚洲乱码中文字幕手机在线| 3344免费播放观看视频 | 七色永久性tv网站免费看| 亚洲综合色丁香婷婷六月图片|