<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 云云 閱讀(4834) 評論(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

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲成人在线免费观看| 婷婷亚洲久悠悠色悠在线播放| 在线看无码的免费网站| 免费看黄网站在线看| 中文字幕无码亚洲欧洲日韩| 久久久亚洲AV波多野结衣 | 亚洲成a人片在线观看中文app| 亚洲免费视频一区二区三区| 在线免费观看色片| 欧洲一级毛片免费| 日韩成人免费视频| GOGOGO高清免费看韩国| 野花视频在线官网免费1| 亚洲色偷偷色噜噜狠狠99| 亚洲国产精品成人综合久久久| 久久精品国产亚洲av麻豆| 亚洲欧洲自拍拍偷午夜色无码| 亚洲日本va午夜中文字幕久久| 亚洲av成人一区二区三区在线观看 | 亚洲国产成人va在线观看网址| 亚洲国产精品无码专区在线观看| 免费国产成人高清在线观看麻豆| 女人18毛片特级一级免费视频| 美女被cao免费看在线看网站| 中文字幕免费视频| 精品熟女少妇a∨免费久久| 免费91麻豆精品国产自产在线观看 | 国产亚洲欧洲Aⅴ综合一区 | 国产国产人免费人成成免视频| 美女视频黄视大全视频免费的| 蜜芽亚洲av无码一区二区三区| 亚洲av无码兔费综合| 亚洲乱码无人区卡1卡2卡3| 亚洲无码一区二区三区| 亚洲国产成人精品无码区花野真一 | 久久亚洲最大成人网4438| 亚洲日本国产精华液| 亚洲Av高清一区二区三区| 国产91在线|亚洲| 亚洲精品V天堂中文字幕| 国产午夜亚洲精品不卡|