gpt4 book ai didi

java - 单例类设计问题

转载 作者:行者123 更新时间:2023-12-01 08:12:06 25 4
gpt4 key购买 nike

下面是一个使用单例设计模式的类:

class Singleton
{
private static Singleton instance;
private Singleton()
{
...
}

public static synchronized Singleton getInstance()
{
if (instance == null)
instance = new Singleton();

return instance;
}
...
public void doSomething()
{
...
}
}

我想了解上述类的一些设计问题?为什么实例变量是instance私有(private)的和静态的。我知道私有(private)使得实例变量只能被该特定类的对象访问,但是它有什么帮助?

最佳答案

如果它是公共(public),每个人都可以使用Singleton.instance并且会提示,因为它是空的。使其私有(private)强制它们使用getInstance(),这保证返回一个非空实例。

如果它不是静态,那么它将是 Singleton 的实例变量,因此您需要一个 Singleton 实例来访问唯一的 Singleton 实例,这没有多大意义。

关于java - 单例类设计问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16508909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com