这个模式保护类的创建过程来确保只有一个实例被创建,它通过设置类的构造方法为私有来达到这个目的。
要获得类的实例,单例类可以提供一个方法,如getInstance,来返回类的实例。该方法是唯一可以访问类来创建实例的方法。
下面是单例的一个例子:
创建一个类
public class SingleTonPattern {
private static SingleTonPattern instance;
private SingleTonPattern(){};
public static synchronized SingleTonPattern getInstance() {
if (instance == null) {
instance = new SingleTonPattern();
}
return instance;
}
}
当我们要实现单例的时候,有如下的规则需要遵循:
从上面的示例代码中可以看出,一个单例类有一个静态的属性来保存它唯一的实例
需要将类的构造方法设置为private。这样你不允许其他任何类来创建单例类的实例,因为它们不能访问单例类的构造方法。