【发布时间】:2015-04-01 15:40:40
【问题描述】:
我目前正在学习单例模式。我了解到实现它的经典方法是创建一个 Singleton 类类型的静态字段,使用私有访问修饰符隐藏构造函数,并提供一个公共的getInstance() 方法。
但是,我想到了另一种不使用私有构造函数来实现它的方法:
public class SWrapper {
private static Singleton holder = new Singleton();
private static class Singleton{ /* implementation without private constructor*/}
public static Singleton getInstance() {
return holder;
}
问题:这个实现是否有效? (我认为确实如此,但我不能确定。)如果确实如此,使用此实现是否有任何优点或缺点?
【问题讨论】:
-
Singleton是私人的! -
"这个实现有效吗?"你试过了吗?
-
@fabian 应该是
-
对单例使用枚举,但不要使用单例
-
您能告诉我们您的实施有哪些优势吗?为什么你认为它比其他方法更好?否则我在这里看不到问题..
标签: java design-patterns