设计模式(创建型)之单例模式

单例模式的目的就是要控制特定的类<强>只产生一个对象强,当然也允许在一定情况下灵活的改变对象的个数。

,

一个类的对象的产生是由类构造函数来完成的,如果想限制对象的产生,一个办法就是:

1, <强>将构造函数变为私有的(至少是受保护的),使得外面的类不能通过引用来产生对象,

2,同时为了保证类的可用性,就必须<强>提供一个自己的对象以及<强>访问这个对象的静态方法

,

单例模式可分为的和的。

有状态的单例对象一般也是可变的单例对象,多个单态对象在一起就可以作为一个状态仓库一样向外提供服务。

没有状态的单例对象也就是不变单例对象,仅用做提供工具函数。

,

设计模式(创建型)之单例模式

<强>

一、饿汉式:

singleton1。java:

/*
, *,创建人:颜超
, *,创建时间:2013-6-26
, *,文件名:singleton1。java
, *,创建型设计模式
, *,单例(singleton)
, *,饿汉式
, */
public  class  Singleton1  {
,//在自己内部定义自己一个实例
,//注意这是private 只供内部调用
, private  static  Singleton1  instance =, new  Singleton1 ();
,//将构造函数设置为私有
, private  Singleton1 () {
,, System.out.println (“new  an 实例!“);
,}
,//静态工厂方法,提供了一个供外部访问得到对象的静态方法
, public  static  Singleton1  getInstance () {
,, return 实例;
,}
, public  static  void  main (String [], args), {
,, Singleton1.getInstance ();
,}
}

二,懒汉式:

singleton2。java:

/*
, *,创建人:颜超
, *,创建时间:2013-6-26
, *,文件名:singleton2。null

设计模式(创建型)之单例模式