6.3.2 单例(Singleton)类
6.3.2 单例(Singleton)类
单例类
如果一个类始终只能创建一个实例,则这个类被称为单例类。
单例模式详解
- 为了避免其他类自由创建该类的实例,应该把该类的构造器使用
private
修饰,从而把该类的所有构造器隐藏起来。 - 一旦把该类的构造器隐藏起来,就需要提供一个
public
方法作为该类的访问点,用于创建该类的对象,且该方法必须使用static
修饰(因为调用该方法之前还不存在对象,因此只能是类来调用该方法)。 - 除此之外,该类还必须缓存已经创建的对象,否则该类无法知道是否曾经创建过对象,也就无法保证只创建一个对象。为此该类需要使用一个成员变量来保存曾经创建的对象,因为该成员变量需要被上面的静态方法访问,故该成员变量必须使用
static
修饰。