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 可以任意訪問類的私有成員變數 在成員變數前面...