单例模式静态成员变量是公有还是私有
时间: 2024-10-29 16:04:58 浏览: 13
设计模式C++学习之单例模式(Singleton)
单例模式通常会将静态成员变量设为私有,然后提供一个公共的静态方法(称为“ getInstance() ”)来访问这个唯一的实例。这样做是为了控制实例化的过程,防止其他地方意外创建多个实例,保持单例状态。例如,在 Java 中,可能会看到这样的实现:
```java
public class Singleton {
// 私有化静态成员变量
private static Singleton instance;
// 公共的构造函数(但是通过getInstance方法访问)
private Singleton() {}
// 获取唯一实例的方法
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
```
在这个例子中,`Singleton` 类只有一个 `instance` 变量,并且该变量只能通过 `getInstance()` 方法来获取。这样就实现了单例模式。
阅读全文