java - 对于单例类,我们还可以创建单独的实例吗?
问题描述
例如,如果单例是:
class Singleton
{
private static Singleton single_instance = null;
public String s;
public Singleton(String test)
{
s = "Hello I am a string part of Singleton class";
}
public static Singleton getInstance()
{
if (single_instance == null)
single_instance = new Singleton("valueA");
return single_instance;
}
}
可以进行以下操作吗?
- 如果从一个地方调用该类,例如A类,我们使用这个单例,
Singleton.getInstance();
- 如果在所有其他地方调用该类,则创建一个新实例:
Singleton singleton = new Singleton();
解决方案
“单例”是一种特定模式,其中一个关键思想是您不要让其他类创建您的类的实例。
如果您使构造函数可公开访问,则您不再遵循“单例”模式,您应该将其称为其他名称,以避免让团队中的其他人感到困惑。
您可以将其称为“共享实例”。
可以进行以下操作吗?
只要以后不出现问题就可以了。如果不了解您的问题的具体情况,很难说更多。
推荐阅读
- typescript - 在 TypeScript 中,如何从基类返回子类?
- java - 了解用于 Salesforce 集成的 Fuse 和 Camel 之间的区别
- java - 封装到另一个类中的不可变整数(按值调用)
- windows - 是否可以在 Windows 8.1 上编写 Reason React 代码?
- google-people-api - 是否有任何工作示例/示例可用于使用适用于 Android 的 Google People API?
- wordpress - add_filter 函数没有在 wordpress 中被调用
- python - Rabbitmq 命令不起作用
- multithreading - HashMap 线程的这种用法安全吗?
- applescript - excel 文件被 AppleScript 转换为 Numbers 文件
- javascript - Node.js 控制流理解