王吉元-NWPU

导航

 

单例模式理解起来比较简单,顾名思义就是只能有一个实例。

DF的定义是这样的: 保证一个类仅有一个实例,并提供一个访问它的全局访问点。

实现起来是这样的:

package com.wjy.singleton;

public class Singleton {
  private static Singleton instance; 
  private Singleton()     //私有的构造函数保证了外界不会使用new来创建它的实例。
  {
  }
  public static Singleton getInstance()       //这个方法是获得本类实例的唯一的全局访问点,设为static使之可以直接用类名调用。
  {
   if(instance==null)
   {
    instance=new Singleton();
   }
   return instance;
  }
  protected void showMessage()
  {
   System.out.println("hello,here.I am singleton.");
  }
}

 测试之:

package com.wjy.singleton;

import java.io.Console;

public class start {
public static void main(String[] args)
{
 Singleton s1=Singleton.getInstance();
 s1.showMessage();
 Singleton s2=Singleton.getInstance();
 
 /*
  * ==  是用来比较对象的地址的,若为真,证明两个对象是同一块内存区域。
  */
 if(s1==s2)
 {
  System.out.println("这两个对象是同一个实例。");
 }
}
}

posted on 2013-05-03 08:50  王吉元  阅读(162)  评论(0编辑  收藏  举报