.Net转Java自学之路—基础巩固篇五(单例模式)

保证类在内存中对象的唯一性。

实现:

  1、想构造函数私有化。这样对方程序创建就无法初始化,已达到不允许其它程序创建对象的目的。

  2、在本类中用new来创建一个本类的对象。

  3、提供一个公用的函数返回该对象。方便与其它程序获取该对象。

体现:

  1、私有化构造函数。

  2、创建一个私有并静态的本类对象。

  3、创建一个公用的static方法来返回该对象。

单例模式的延迟加载模式,当并发访问公用的static方法时,容易出现安全问题(线程安全问题)

//饿汉式
class Single
{
  private Single(){}
  private static Single single = new Single();
  public static Single getInstance()
  {
       return single;
  }      
}

//懒汉式    单例模式的延迟加载模式
class Single
{
  private Single(){}
  private static Single single = null;
  public static Single getInstance()
  {
       if(single == null)
            single = new Single();
       return single;
  }      
}    

猜你喜欢

转载自www.cnblogs.com/drop/p/9034014.html