單例設計模式:保證一個類在內存中只有一個對象。
餓漢單例設計模式:
1、 私有化構造函數。
2、 聲明本類的引用類型變量並且指向本類的對象,(private static)
3、 提供一個公共靜態的方法獲取本類對象。
例:
class Single{
private Single(){}
private static Single s = new single();
public static Single getSingle(){
return s;
}
}
懶漢單例設計模式:
1、 私有化構造函數。
2、 聲明本類的引用類型變量,但是不要創建對象。
3、 提供一個公共靜態的方法獲取本類對象,獲取之前先判斷是否已經創建了本類的對象,如果沒有創建,創建再訪問。如果已經創建了,那麼直接訪問即可。
例:
class Single{
private Single(){}
private static Single s = null;
public static Single getInstance(){
if(s == null){
s = new Single();
}
return s;
}
}