读书人

singleton单态形式

发布时间: 2012-10-12 10:17:04 作者: rapoo

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

}

一般第一种情况更安全,而且常用

读书人网 >软件架构设计

热点推荐