每天學習設計模式之-單例模式
每天學習設計模式,第一天開始比較簡單的單例模式,費話不多說,上代碼。
1、先初始化的實例的 俄漢式模式
2、用到時再初始化實例的 懶漢式模式
1、先初始化的實例的 俄漢式模式
public class Single1{
private static //始化一次,自己訪問
private static Single1 single=new Single1();
//private 只能自己訪問
private Single1(){
}
//返回實例
public static Single1 get Instance(){
return single;
}
}
private static //始化一次,自己訪問
private static Single1 single=new Single1();
//private 只能自己訪問
private Single1(){
}
//返回實例
public static Single1 get Instance(){
return single;
}
}
2、用到時再初始化實例的 懶漢式模式
public class Single2{
//private 別人無法訪問
private static Single2 single=null;
//同步方法,若實例不存在,則初始化
public synchronized Single2 getInstance(){
if(single==null){
single=new Single2();
}
return single;
}
}
//private 別人無法訪問
private static Single2 single=null;
//同步方法,若實例不存在,則初始化
public synchronized Single2 getInstance(){
if(single==null){
single=new Single2();
}
return single;
}
}