<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

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


    網站導航:
     
    主站蜘蛛池模板: 中国人xxxxx69免费视频| 免费国产草莓视频在线观看黄| 精品韩国亚洲av无码不卡区| 99国产精品视频免费观看| 亚洲美日韩Av中文字幕无码久久久妻妇| 亚洲黄色三级网站| a毛片在线还看免费网站| 亚洲 综合 国产 欧洲 丝袜| 亚洲欧美国产国产综合一区| 日本三级2019在线观看免费| 亚洲自偷自偷精品| 久久久精品午夜免费不卡| 亚洲综合精品网站| 免费看黄福利app导航看一下黄色录像| 韩国免费一级成人毛片| 亚洲国产成人久久综合一| 91精品全国免费观看青青| 国产成人精品日本亚洲专区| 新最免费影视大全在线播放| 又爽又黄无遮挡高清免费视频| 亚洲精品一卡2卡3卡四卡乱码 | 亚洲免费在线观看视频| 亚洲激情中文字幕| 免费国产黄网站在线观看视频| 亚洲AV综合色一区二区三区| 两个人看的www免费视频| 亚洲精品少妇30p| 成人爽a毛片免费| 亚洲国产精品免费视频| 最近2019年免费中文字幕高清| 亚洲视频一区在线| 永久免费的网站在线观看| 亚洲一区二区三区高清在线观看| 成人免费一区二区无码视频| 亚洲高清乱码午夜电影网| 夜色阁亚洲一区二区三区| eeuss影院www天堂免费| 亚洲av无码一区二区三区网站| 久久国产色AV免费观看| 亚洲中文字幕人成乱码| 暖暖免费高清日本中文|