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

2021-09-24 21:16:43 字數 1939 閱讀 8073

一、

單例的設計模式:

1、解決的問題,使得乙個類只能建立乙個物件。

2、如何實現?如下所示的四步:2-1、私有化構造器,使得在類的外部不能夠呼叫此構造器。;2-2、在類的內部建立乙個類的例項;2-3、私有化此物件,通過公共的方法來呼叫;2-4、此公共的方法,只能通過類來呼叫,因此設定為static型別的,同時類的例項也必須為static宣告的。

3、單例設計模式:

保證構造器屬性私有;靜態的方法裡只能呼叫靜態的變數。

4、餓漢式與懶漢式分別:

(1)、餓漢式:

在類的內部建立乙個類的例項

privatestaticsingleton

instance

=newsingleton();

(2)、懶漢式:

privatestaticsingleton1

instance

=null;

例項**:(餓漢式)

packagecom.atguigu.danli; /*

* 設計模式

:設計模式是在大量的實踐中總結和理論化之後優選的**結構、程式設計風格、以及解決問題的思考方式。

* 23

種設計模式。 *

* 單例的設計模式:

* 1、解決的問題,使得乙個類只能建立乙個物件。

* 2、如何實現?如下所示的四步:1、

2、3、

4。* */ //

餓漢式

publicclasstestsingleton }

//只能建立

singleton

的單個例項

classsingleton

//2、在類的內部建立乙個類的例項

privatestaticsingleton

instance

=newsingleton();

//3、私有化此物件,通過公共的方法來呼叫

//4、此公共的方法,只能通過類來呼叫,因此設定為

static

型別的,同時類的例項也必須為

static

宣告的。

publicstaticsingleton getinstance()    }

例項**:(懶漢式)

packagecom.atguigu.danli;

publicclasstestsingleton1 }

//懶漢式(

建立完後返回)

classsingleton1

//2、

privatestaticsingleton1

instance

=null;

//3、

publicstaticsingleton1 getinstance()

returninstance;

} }

設計模式 單例模式 餓漢式,懶漢式

餓漢式 將物件的實現提前準備好,物件指向的記憶體只能有乙個。public class singlection1 餓漢式單例實現 將物件的實現提前準備好 private static final singlection1 single1 new singlection1 靜態工廠 public sta...

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

2.餓漢式 立即載入 3.懶漢式 延遲載入 定義 單例模式確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項,這個類稱為單例類,它提供全域性訪問的辦法。單例模式的要點有兩個 public class singleton 靜態方法,可以加入自定義控制,保證只產生乙個例項 public s...

單例模式 懶漢式 餓漢式

單例 1 訪問頻率高適合做成單例 2 這個類本身就是要描述乙個物件,就是想產生乙個物件就夠了,這樣的情況也是需要維護成乙個物件就ok 了 1 物件訪問高 建立物件不寄存客戶資料 適合 建立物件寄存客戶資料 不適合 第一步 把構造器變成私有的 構造器私有化 就是在別的地方new不成 靜態成員可以直接用...