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;   
}

}

一般第一種情況更安全,而且常用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章