关于静态方法和变量

时间:2013-05-03 20:35:16

标签: java android oop

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

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

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

// line:31

我可以在没有这种方法的情况下上课吗?

3 个答案:

答案 0 :(得分:4)

这是( 实施不当 Singleton。如果省略此静态块但不创建公共构造函数,那么您的类可能没用。如果您正在寻找一种行为方式相同的方式我(以及大多数其他方式)会引导您进入Enum Pattern

答案 1 :(得分:2)

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

答案 2 :(得分:1)

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

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