gpt4 book ai didi

java - Singleton设计的两种方式

转载 作者:行者123 更新时间:2023-12-01 18:07:01 24 4
gpt4 key购买 nike

我正在尝试了解单例设计模式,并且发现了两种仅创建 1 个实例的不同方法。

public class Singleton {
private static Singleton instance; // attributes omitted
private Singleton() {
// omissions
}

public static Singleton instance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
// other methods omitted
}
<小时/>
public class Singleton {
private static int bound = 1;
public Singleton() {
if (bound == 0) {
throw new RuntimeException(
"Singleton: No more objects must be created");
}
bound--;
}
}

首选使用哪个,为什么?它们同样好吗?

最佳答案

不确定 Java 的实现方式,但我认为我只会使用第一种方式。我认为在构造函数中抛出异常并公开公开是不好的

由于您只想获取唯一的实例,因此构造函数应该是私有(private)的。

关于java - Singleton设计的两种方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35626482/

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