Chinaunix首页 | 论坛 | 博客
  • 博客访问: 468988
  • 博文数量: 83
  • 博客积分: 92
  • 博客等级: 民兵
  • 技术积分: 690
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-25 13:33
文章分类

全部博文(83)

文章存档

2014年(3)

2013年(59)

2012年(16)

2011年(5)

我的朋友

分类: Android平台

2013-11-01 17:34:29

Singleton 是一种创建性模式,它用来确保只产生一个实例,并提供一个访问它的全局访问点。对一些类来说,保证只有一个实例是很重要的,比如有的时候,数据库连接或 Socket 连接要受到一定的限制,必须保持同一时间只能有一个连接的存在。

第一个种实现利用定义一个静态的当前对象,构造函数声明为private,每次创建一个实例都会判断下当前是否已经产生实例对象。
点击(此处)折叠或打开
  1. package com.tim.singleton;

  2. public class Singleton {
  3.     
  4.     private static Singleton s;
  5.     
  6.     /**
  7.      * 把构造函数设置为private
  8.      */
  9.     private Singleton(){
  10.         
  11.     }
  12.     
  13.     /**
  14.      * 实例化对象的唯一接口
  15.      */
  16.     public static Singleton getInstance(){
  17.         if(s == null){
  18.             s = new Singleton();
  19.         }
  20.         return s;
  21.     }

  22. }

第二种利用定义静态的变量来判断是否已经实例化
点击(此处)折叠或打开
  1. package com.tim.singleton;

  2. public class Singleton {
  3.     
  4.      static boolean instance_flag = false;
  5.      public Singleton() {
  6.      if (instance_flag)
  7.           throw SingletonException("Only one instance allowed");
  8.      else
  9.           instance_flag = true;
  10.      }

  11. }


参考来自:http://blog.csdn.net/cjjky/article/details/7318506
阅读(1571) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~