首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

仅仅例模式(Singleton)

2012-10-06 
单单例模式(Singleton)2.3单例模式示例代码在Java中,单例模式的实现又分为两种,一种称为懒汉式,一种称为饿

单单例模式(Singleton)
2.3  单例模式示例代码

        在Java中,单例模式的实现又分为两种,一种称为懒汉式,一种称为饿汉式,其实就是在具体创建对象实例的处理上,有不同的实现方式。下面分别来看这两种实现方式的代码示例。为何这么写,具体的在后面再讲述。
       (1)懒汉式实现,示例代码如下:

/** * 懒汉式单例实现的示例 */public class Singleton {/** * 定义一个变量来存储创建好的类实例 */private static Singleton uniqueInstance = null;/** * 私有化构造方法,好在内部控制创建实例的数目 */private Singleton(){//}/** * 定义一个方法来为客户端提供类实例 * @return 一个Singleton的实例 */public static synchronized Singleton getInstance(){//判断存储实例的变量是否有值if(uniqueInstance == null){//如果没有,就创建一个类实例,并把值赋值给存储类实例的变量uniqueInstance = new Singleton();}//如果有值,那就直接使用return uniqueInstance;}/** * 示意方法,单例可以有自己的操作 */public void singletonOperation(){//功能处理}/** * 示意属性,单例可以有自己的属性 */private String singletonData;/** * 示意方法,让外部通过这些方法来访问属性的值 * @return 属性的值 */public String getSingletonData(){return singletonData;}}



(2)饿汉式实现,示例代码如下:
/** * 饿汉式单例实现的示例 */public class Singleton {/** * 定义一个变量来存储创建好的类实例,直接在这里创建类实例,只会创建一次 */private static Singleton uniqueInstance = new Singleton();/** * 私有化构造方法,好在内部控制创建实例的数目 */private Singleton(){//}/** * 定义一个方法来为客户端提供类实例 * @return 一个Singleton的实例 */public static Singleton getInstance(){//直接使用已经创建好的实例return uniqueInstance;}/** * 示意方法,单例可以有自己的操作 */public void singletonOperation(){//功能处理}/** * 示意属性,单例可以有自己的属性 */private String singletonData;/** * 示意方法,让外部通过这些方法来访问属性的值 * @return 属性的值 */public String getSingletonData(){return singletonData;}}

热点排行