黑馬程序員 單例設計模式

思想:
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;
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章