單例模式(乙個類只能建立乙個例項)

2021-08-10 21:36:39 字數 427 閱讀 2989

三個步驟:①通過new乙個靜態變數

private static single  single=new single1();

②構造方法私有化

private single(){

③新建乙個公共獲取物件的方法(靜態)

public  static single getintance(){

return 這個物件

一共有七中單例模式:

①餓漢式(浪費資源)

②飽漢式(資料不安全)-----解決辦法:方法中加鎖

③加同步鎖

④加雙重鎖

⑤餓漢式(餓漢式的變種,由餓漢式改變而來)

將靜態變數放在了乙個靜態內部類中(達到延時效果)

返回  類名.變數名

⑥enum(方便分類呼叫) 列舉

⑦構造**塊,效果和餓漢式一樣

單例模式,乙個類只能有乙個例項。地球只有乙個。

單例設計模式 單例設計模式就是保證某個類的例項有且只能有乙個不能隨意建立例項。例如 我們只有乙個地球,地球類的例項只能建立乙個。1 為了阻止類例項的new建立,可以做乙個private的建構函式。2 既然不能從外部使用new進行例項的建立,就從類內部進行例項的建立,為此可以提供乙個靜態方法和乙個要建...

保證乙個類僅有乙個例項 單例模式

場景 微軟的windows xp作業系統,ctrl alt del鍵都會彈出乙個windows任務管理器 這時不關閉這個任務管理器 繼續ctrl alt del鍵還是乙個windows任務管理器。鑑於本人水平有限,上面的場景舉例可能不合適,但是很接近乙個基本的設計模式 單例模式。code is ch...

只能生成乙個例項的類

這次遇到的是乙個c 問題,本著迎難而上精神雖然c 不熟但是盤它就行了。問題如下 用linux編譯c 需要先搭建環境,那就先搭建乙個吧。搭建環境有好多坑,根據以下內容可以完成並且解決各種問題 還有就是4版本以上的,只能用mcs命令編譯 搭建好之後可以開始寫 了,對c 不太熟悉先了解一些基礎概念 1 s...