Java設計模式之單例設計模式


<small>覺得好難得路過</small>

單例設計模式

  • 解決問題 : 保證一個類在內存中的對象的唯一性.

  • 比如:多程序讀取一個配置文件時,建議配置文件封裝成對象。會方便操作其中數據,又要保證多個程序讀到的是同一個配置文件對象,就需要該配置文件對象在內存中是唯一的。

  • Runtime() 方法就是單例設計模式進行設計的.

如何保證對象唯一性呢?

  • 思想:
  1. 不讓其他程序創建該類對象。
  2. 在本類中創建一個本類對象。
  3. 對外提供方法,讓其他程序獲取這個對象。
  • 步驟:
  1. 因為創建對象都需要構造函數初始化,只要將本類中的構造函數私有化,其他程序就無法再創建該類對象;
  2. 就在類中創建一個本類的對象;
  3. 定義一個方法,返回該對象,讓其他程序可以通過方法就得到本類對象。(作用:可控)
  • 代碼體現:
  1. 私有化構造函數;
  2. 創建私有并靜態的本類對象;
  3. 定義公有并靜態的方法,返回該對象。
//餓漢式 
class Single{ 
private Single(){} //私有化構造函數。 
private static Single s = new Single(); //創建私有并靜態的本類對象。  
public static Single getInstance(){ //定義公有并靜態的方法,返回該對象。   return s;  } } 
--------------------------------------------- 
//懶漢式:延遲加載方式。 
class Single2{ 
private Single2(){} 
private static Single2 s = null; 
public static Single2 getInstance(){   
  if(s==null) 
     s = new Single2();   
  return s;  
   } 
}

給個github follow me的鏈接,上面有很多初學者可供學習的資料,項目.

<a>https://github.com/SuperZee</a>

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 單例設計模式(Singleton Pattern)是Java開發人員了解設計模式的第一種,也是最容易理解的,在平時...
    Michaelhbjian閱讀 250評論 0 2
  • 一:java概述:1,JDK:Java Development Kit,java的開發和運行環境,java的開發工...
    ZaneInTheSun閱讀 2,687評論 0 11
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,765評論 18 399
  • 寫代碼: 1,明確需求。我要做什么? 2,分析思路。我要怎么做?1,2,3。 3,確定步驟。每一個思路部分用到哪些...
    橫沖直撞666閱讀 362評論 0 0
  • 記錄: 大學第一次的端午節。 (⊙?⊙) 謝謝來自汕頭朋友滿滿愛意的粽子?
    YOUCANNN閱讀 323評論 0 2