假设我有一个像Java这样的类:
public class ClassicSingleton {
private static ClassicSingleton instance = null;
protected ClassicSingleton() {
// Exists only to defeat instantiation.
}
public static ClassicSingleton getInstance() {
if(instance == null) {
instance = new ClassicSingleton();
}
return instance;
}
public void initialize(String id, Double num, String data){
....
}
}
如果我要在另一个类中访问它的“实例”,我的ClassicSingleton的理想方法类型是什么?
初始化应该是一个静态函数,以便我可以在其他类中调用它:
ClassicSingleton mySingleton = ClassicSingleton.getInstance();
mySingleton = ClassicSingleton.initialize("id",0.0,"data");
或者我应该保持初始化并致电:
ClassicSingleton mySingleton = ClassicSingleton.getInstance();
mySingleton.initialize("id",0.0,"data");
答案 0 :(得分:0)
flatMap
应该是静态方法。 Singleton的想法是它是该对象的唯一实例。如果一个对象初始化两次,或者通过该对象的实例初始化,则稍微违背了Singleton模式的目的。
就个人而言,我喜欢在构造函数中调用initialize
,构造函数本身只调用一次,以防止混淆。
答案 1 :(得分:0)
如果您正在访问实例,请使用第二个选项
ClassicSingleton mySingleton = ClassicSingleton.getInstance(); mySingleton.initialize(" ID",0.0,"数据&#34);
答案 2 :(得分:0)
如果您正在创建Singleton类的实例,那么您应该选择第二个