singleton單態模式
一下是單態的設計模式的兩種寫法
public class Singleton {
private Singleton(){}
//在自己內部定義自己一個實例,是不是很奇怪?
//注意這是private 只供內部調用
private static Singleton instance = new Singleton();
//這裏提供了一個供外部訪問本class的靜態方法,可以直接訪問
public static Singleton getInstance() {
return instance;
}
}
第二種形式:
public class Singleton {
private Singleton(){}
private static Singleton instance = null;
//這裏提供一個同步的得到實例的方法,通過類直接訪問
public static synchronized Singleton getInstance() {
if (instance==null)//第一次調用時初始Singleton,以後就不用再生成了
instance=new Singleton();
return instance;
}
}
一般第一種情況更安全,而且常用
public class Singleton {
private Singleton(){}
//在自己內部定義自己一個實例,是不是很奇怪?
//注意這是private 只供內部調用
private static Singleton instance = new Singleton();
//這裏提供了一個供外部訪問本class的靜態方法,可以直接訪問
public static Singleton getInstance() {
return instance;
}
}
第二種形式:
public class Singleton {
private Singleton(){}
private static Singleton instance = null;
//這裏提供一個同步的得到實例的方法,通過類直接訪問
public static synchronized Singleton getInstance() {
if (instance==null)//第一次調用時初始Singleton,以後就不用再生成了
instance=new Singleton();
return instance;
}
}
一般第一種情況更安全,而且常用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.