Static關鍵字,以及靜態方法中的部分要點

    static關鍵字的作用主要作用有兩個,如下:  

        1.爲特定類型的數據或對象分配單一的存儲空間,與對象的個數無關,可以在單例模式得以提現;

        2.實現變量或方法,而不需要對象的創建就能夠實現。

(1)static成員變量:

        成員變量有static靜態變量與非靜態變量,其中靜態變量是屬於類的,而非靜態變量是屬於方法的。靜態變量可以通過

        類名.變量名或者對象名.變量名來調用,且只要靜態變量所在的類被調用,那麼這個靜態變量就會被調用。

(2)static靜態方法:

        靜態方法是類的方法,不同於非靜態方法,靜態方法可以在不用創建對象的情況下就進行調用。在靜態方法中不能使用this

        和super關鍵字,因爲this關鍵字是對調用此方法的對象的引用,即是作用在對象層面的,而靜態方法又是可以由類直接調

        用的,有可能就是當靜態方法調用後對象可能還沒有創建。super關鍵字同樣是對父類對象的引用,同時很重要的就是靜態          是優先於對象存在的,故在靜態方法中是不能使用this和super關鍵字的。

(3)靜態代碼塊:

        靜態代碼塊是用來初始化的,在類被調用時,jvm就會進行執行靜態代碼塊中的內容,如果有多個靜態代碼塊,jvm會按照

        順序類執行,且靜態代碼塊只會執行一次


        附單例模式方法:

        package danli;


public class DemoDanli {


private static DemoDanli danli = null;


private DemoDanli() { // 單例模式不能多次創建對象,只能給出一個創建對象的方法,同時私有化構造方法


}


public static DemoDanli getDemoDanli() { // 在沒有創建對象的 時候才能創建對象
if (danli == null) {
danli = new DemoDanli();
}
return danli;
}


}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章