Singleton类的优势是啥? [复制]

Posted

技术标签:

【中文标题】Singleton类的优势是啥? [复制]【英文标题】:What is advantage of Singleton class? [duplicate]Singleton类的优势是什么? [复制] 【发布时间】:2015-12-06 12:19:16 【问题描述】:

在java中,当我们创建一个类单例时,它只为每个应用程序创建该类的一个实例,但是如果我们创建该类的所有方法和变量静态而不是创建单例类,那么它也只会创建该类的一个实例静态成员。那么单例类相对于类的所有静态成员有什么优势呢?

【问题讨论】:

只能有一个! :) 单例与静态的优缺点总结:javarevisited.blogspot.fr/2013/03/… 参考en.wikipedia.org/wiki/Singleton_pattern @OldCurmudgeon 哈哈!单例模式,又名“汉兰达” 想知道这两者在java中的性能差异。 【参考方案1】:

这不仅仅是关于 java 的。单例和静态成员之间的一个区别是您可能有多个单例扩展或实现相同的类或接口。如果您需要在其中一个单例上调用方法,则可以依赖多态性,而静态成员则不然。

【讨论】:

正如dotvav所说,主要区别在于Singleton是一个类的对象实例,因此您可以将其作为对象使用,也就是说您可以引用它,序列化,作为参数传递,它可以实现接口,扩展类,......静态类没有这个优势。 我其实想知道java中性能因素的差异。 那你应该问一个新问题,别忘了问性能。

以上是关于Singleton类的优势是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

单例模式(oc)

在 Angular 6 中使用 rxjs 可观察对象的目的是啥?与 async/await 相比,rxjs 的优势是啥? [复制]

effectiveJava强化Singleton属性

接口和抽象类的优点是啥? [复制]

确保类的单个实例的正确方法是啥? [复制]

人们想要使用嵌套类的原因是啥? [复制]