gpt4 book ai didi

Java单例模式

转载 作者:太空狗 更新时间:2023-10-29 22:37:42 25 4
gpt4 key购买 nike

编辑:已回答 - 错误是方法不是静态的

我用过 Singleton Design Pattern

 public class Singleton {
private static final Singleton INSTANCE = new Singleton();

// Private constructor prevents instantiation from other classes
private Singleton() {}

public static Singleton getInstance() {
return INSTANCE;
}
}

我的问题是如何在另一个类中创建类 Singleton 的对象?

我试过:

Singleton singleton = new Singleton(); 
// error - constructor is private
Singleton singleton = Singleton.getInstance();
// error - non-static method cannot be referenced from a static context

正确的代码是什么?

谢谢,斯宾塞

最佳答案

Singleton singleton = Singleton.getInstance();

是正确的方法。确保您的 getInstance() 方法确实是 static

由于您的 Singleton 实现远非安全 - 您的对象可以通过反射实例化,您可能希望基于 enum 创建一个单例

关于Java单例模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2832297/

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