设计单例模式——构造函数
Design Singleton Pattern - Constructor
我无法使用单例设计模式创建对象,这是我所做的:
class Test {
public static Test objTest = null;
public static int count = 0;
public static Test CreateObject() {
if (objTest != null)
objTest = new Test();
return objTest;
}
private Test() {
Test.count++;
}
}
我创建了 zeroton 模式了吗?
检查一次 createObject
方法中的 if 条件。应该是 if(objTest == null)
.
除此之外,您的计数始终为“0”或“1”(忽略潜在的多线程问题)- 为什么要使用该参数?
您正在检查 objTest != null
而不是 objTest == null
。
这就是为什么您总是返回 null
而从不创建新实例的原因。
objTest 变量也应该是私有的,您不希望引用空实例。只能通过您的 CreateObject() 方法访问实例。
我无法使用单例设计模式创建对象,这是我所做的:
class Test {
public static Test objTest = null;
public static int count = 0;
public static Test CreateObject() {
if (objTest != null)
objTest = new Test();
return objTest;
}
private Test() {
Test.count++;
}
}
我创建了 zeroton 模式了吗?
检查一次 createObject
方法中的 if 条件。应该是 if(objTest == null)
.
除此之外,您的计数始终为“0”或“1”(忽略潜在的多线程问题)- 为什么要使用该参数?
您正在检查 objTest != null
而不是 objTest == null
。
这就是为什么您总是返回 null
而从不创建新实例的原因。
objTest 变量也应该是私有的,您不希望引用空实例。只能通过您的 CreateObject() 方法访问实例。