点击这里给我发消息 点击这里给我发消息

Java中设计模式(2) Singleton模式

添加时间:2013-12-7
    相关阅读: 设计 程序

  
   Singleton模式:
   Singleton模式主要作用是保证在Java应用程序中,一个Class只有一个实例存在。
   一般有三种方法:
   1 定义一个类,它的构造函数为private的,所有方法为static的。如java.lang.Math
   其他类对它的引用全部是通过类名直接引用。例如:
   public final class Math {
  
   /**
   * Don't let anyone instantiate this class.
   */
   private Math() {}
  
   public static int round(float a) {
   return (int)floor(a + 0.5f);
   }
   ...
   }
  
   2 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时
   实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。例如:
   public class Runtime {
  
   private static Runtime currentRuntime = new Runtime();
  
   public static Runtime getRuntime() {
   return currentRuntime;
   }
   ...
   }
   3 定义一个类,它的构造函数为private的,它有一个static的private的boolean变量,用于表示
   是否有实例存在。例如:
  
   class PrintSpooler
   {
   //this is a prototype for a printer-spooler class
   //such that only one instance can ever exist
   static boolean
   instance_flag=false; //true if 1 instance
   public PrintSpooler() throws SingletonException
   {
   if (instance_flag)
   throw new SingletonException("Only one spooler allowed");
   else
   instance_flag = true; //set flag for 1 instance
   System.out.println("spooler opened");
   }
   //-------------------------------------------
   public void finalize()
   {
   instance_flag = false; //clear if destroyed
   }
   }
咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册