一、
單例的設計模式:
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不成 靜態成員可以直接用...