单例模式是指一个类就只有一个实例。
理解:每个类都有一个构造方法(除了匿名内部类),如果构造方法是public、protect或默认的,就不止能生成一个实例,但是又不能缺少构造方法,因为它负责对类的一些初始化,所以单例模式的构造方法是private的。不能在外面获得该类的实例,就只能在内部获得,如果是成员变量的方式获得,每次引用该成员变量,就会获得不同的实例,所以就只能是通过方法获得,而且只有一个,想到类的static关键字。可以很快的写出单例模式的代码。
代码
class Singleton
{
private static Singleton singleton;
private Singleton()
{
}
public static Singleton getInstance()
{
if (null == singleton)
{
singleton = new Singleton();
}
return singleton;
}
}