static和單例設計模式

2021-10-08 22:05:47 字數 1236 閱讀 8260

static關鍵字的使用

static:靜態的

static可以用來修飾屬性,方法,**塊,內部類

使用static修飾屬性:靜態變數

static修飾屬性說明:

靜態變數隨著類的載入而載入

靜態的變數載入要早於物件的建立

由於類只會載入一次,則靜態變數在記憶體中也只會存在乙份:存在方法區的靜態域中。

static類變數儲存在方法區中的靜態域中

**例項:

public

class

test

}class

person

}/*輸出結果為:

test

china

cnh*/

使用static修飾方法:

隨著類的載入而載入,可以通過"類.靜態方法"的方式進行呼叫

靜態方法中,只能呼叫靜態的方法或屬性非靜態方法中,既可以呼叫非靜態的方法或屬性,也可以呼叫靜態的方法或屬性

使用static修飾方法的注意點:在靜態的方法內,不能使用this,super關鍵字。

由於單例模式只生成乙個例項,減少了系統效能開銷,當乙個物件的產生需要比較多的資源時,如讀取配置、產生其他依賴物件時,則可以通過在應用啟動時直接產生乙個單例物件,然後永久駐留記憶體的方

式來解決。

**的計數器

應用程式的日誌檔案

資料庫連線池

讀取配置檔案的類

壞處:物件載入時間過長

好處:餓漢式是執行緒安全的

public

class

test

}class

person

private

static person p =

newperson()

;public

static person returnp()

}/*輸出結果為

true

*/

好處:延遲物件的建立

壞處:執行緒不安全

public

class

test

}class

person

private

static person p = null;

public

static person returnp()

return p;

}}

基於Static的設計模式 單例模式

所謂類的單例設計模式,就是採取一定的方法保證在整個的軟體系統中,對 某個類只能存在乙個物件例項,並且該類只提供乙個取得其物件例項的方法。如果我們要讓類在乙個虛擬機器中只能產生乙個物件,我們首先必須將類的構 造器的訪問許可權設定為private,這樣,就不能用new操作符在類的外部產生 類的物件了,但...

單例設計模式(餓漢單例設計模式 懶漢單例設計模式)

1.什麼是單例 單例的意思是乙個類永遠只存在乙個物件,不能建立多個物件。2.為什麼要用單例 開發中有很多的物件我們只需要乙個,例如虛擬機器物件,任務管理器物件 物件越多越佔記憶體,有時候只需要乙個物件就可以實現業務,單例可以節省記憶體空間。3.如何實現單例 單例的實現方式有 餓漢單例設計模式 通過類...

C 6 static和單例模式

之前在c的面經總結中有對static進行詳細介紹,就不多介紹了,今天我們重點來介紹c 中static用法。在類中,普通的成員方法在呼叫的時候編譯器會自動新增乙個this形參變數 普通成員方法的特點 1 屬於類的作用域 2 呼叫該方法時需要依賴乙個物件 3 可以任意訪問類的私有成員變數 在成員變數前面...