`
Supanccy2013
  • 浏览: 213447 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java设计模式之 单例模式

阅读更多
注:转载请注明出处;

保证一个类仅有一个实例,提供一个访问这个实例的全局访问点

适用性:

1.  当类只有一个实例而客户可以从一个众所周知的访问点访问时。

2.  当这个唯一实例是通过子类可扩展的,并且客户应该无需更改代码就能适用一个扩展的实例时。

注意:单例模式中有三个注意点:

1,  单例模式类中的引用必须是私有静态的,因为它以后要在静态的方法中被使用。

2,  单例模式类中的无参构造函数,必须是Private,因为不让外界创造该类的对象

3,  单例模式还有另一种写法,就是在构造函数中把那个对象创造好,

代码例子:

package com.supan.io;

public classSingletonPattern {  

   private static SingletonPattern instance;

   private SingletonPattern()

   {}

   public static SingletonPatterngetInstance()

   {

      if(instance == null)

      {

         instance = new SingletonPattern();

      }

      return instance;

   }

}


测试类代码:

package com.supan.io;

public classSingletonPatternTest {

   public static void main(String[] args) {

      // TODO Auto-generated method stub

      SingletonPatternsing1 =SingletonPattern.getInstance();

      SingletonPatternsing2 = SingletonPattern.getInstance();

     

      System.out.println("sing1对象在内存中的地址为:" + sing1);

      System.out.println("sing2对象在内存中的地址为:" + sing2);

   }

}


打印结果:

sing1对象在内存中的地址为:com.supan.io.SingletonPattern@4f1d0d

sing2对象在内存中的地址为:com.supan.io.SingletonPattern@4f1d0d
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics