Singleton可以说是《Design Pattern》中最简单也最实用的一个设计模式。那么,什么是Singleton?
      顾名思义,Singleton就是确保一个类只有唯一的一个实例。Singleton主要用于对象的创建,这意味着,如果某个类采用了Singleton模式,则在这个类被创建后,它将有且仅有一个实例可供访问。很多时候我们都会需要Singleton模式,最常见的比如我们希望整个应用程序中只有一个连接数据库的Connection实例;又比如要求一个应用程序中只存在某个用户数据结构的唯一实例。我们都可以通过应用Singleton模式达到目的。
      一眼看去,Singleton似乎有些像全局对象。但是实际上,并不能用全局对象代替Singleton模式,这是因为:其一,大量使用全局对象会使得程序质量降低,而且有些编程语言例如C#,根本就不支持全局变量。其二,全局对象的方法并不能阻止人们将一个类实例化多次:除了类的全局实例外,开发人员仍然可以通过类的构造函数创建类的多个局部实例。而Singleton模式则通过从根本上控制类的创建,将"保证只有一个实例"这个任务交给了类本身,开发人员不可能再有其它途径得到类的多个实例。这一点是全局对象方法与Singleton模式的根本区别。

首先保证类中有唯一的一个构造器,而且是private的,私有的,就是除了在该类中其他地方都不可以访问的。
其次有一个私有的private该类型的变量,这个变量可以在声明的的时候就实例化,也可以在构造器中调用的时候再实例化,但是,在构造器中实例化时要先判断:
private A a;
public A(){
if(a == null)
a= new A();
}
这样就可以保证只有一个A的实例,
淡然最重要的是要有个public的返回A类型变量的方法,用来返回这个唯一的变量
public A returnA(){
return a;
}
这样就可以了,实际上就三方面:
1,一个私有的构造器
2,一个私有的该类类型的变量
3,必须有一个共有的返回类型为该类类型的方法,用来返回这个唯一的变量