-1

为什么在AEinsam/HabReader中使用此代码:

private static User instance = null; // line:25

public static User getInstance() {
if (instance == null)
    instance = new User();
return instance;
}

// line:31

没有这种方法我可以上课吗?

4

3 回答 3

4

这是(实施不佳的)Singleton。如果你省略了这个静态块但不创建公共构造函数,那么你的类可能没用。如果您正在寻找一种行为方式与我(以及 SO 上的大多数其他人)相同的替代方案,则会将您引导至枚举模式

于 2013-05-03T20:37:54.260 回答
2

这是一种单例模式,这意味着该类应该只存在一个实例。

于 2013-05-03T20:37:37.647 回答
1

该代码的编写者希望确保只有一个 User 类的实例。这种设计模式称为“单例”。

是的,您可以创建一个没有该方法的类,但该类可能有多个实例。

于 2013-05-03T20:38:34.070 回答