單例模式:確保一個類只有一個實例,並且該類自動創建,向整個系統提供該實例。屬於創建型模式。
- 惡漢式單例模式
//類初始化時就已經創建對象
public class SinglePattern {
private static SinglePattern single = new SinglePattern();
private SinglePattern(){}
public static SinglePattern createInstance(){
return single;
}
}
- 懶漢式單例模式
//需要使用時創建自身對象
public class SinglePattern {
private static SinglePattern single;
private SinglePattern(){}
public static SinglePattern createInstance(){
if(single == null)
single = new SinglePattern();
return single;
}
}
個人理解:單例模式是通過權限控制符來實現單例功能。將構造方法私有化,導致外部不能創建該類對象,只能調用該類靜態方法createInstance()方法從而獲取該類實例對象。隱藏了對象創建細節。