通常,我看到 Singleton 类中的实例变量被保持为私有(private)。但是可以将其保持为非私有(private)吗? 如果我们声明一个这样的实例会怎样:-
final static SingletonClass singletonInstance= new SingletonClass();
作为有效的 Singleton 类,这会导致任何问题吗?
最佳答案
singleton pattern确保在任何给定时间该类在系统中都是该类的单个实例。该模式没有提及任何有关公共(public)/私有(private)的内容
只要您有一个可用的实例,实现就可以有所不同。
在您的情况下,如果所有构造函数都是私有(private)的,并且其余类将像这样 SingletonClass.singletonInstance
一样访问单例,则将满足单例模式。
关于java - 我们可以通过非私有(private)的instanceName来创建一个Singleton类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37599360/