如何创建依赖类的单例实例?
问题描述:
我对模式和使用它们有点新。如何创建依赖类的单例实例?
我想配置一个依赖类的对象(比如A.)一次,并通过我的应用程序使用它。我尝试在它上面创建一个单例包装类,但是失败了。我试过类似的东西:
public class B {
public static A a = new A();
public static A getInstance() {
return a;
}
private B() {
a.configure();
}
}
我想调用B.getInstance()
不会在这里配置对象。我想在这里配置A的实例一次并在任何地方使用。
答
基本上你的单身人士班是乙对吗?在你的示例代码中,你使用内部A的单例模式,这没有多大意义。
从我的理解,你应该去类似的东西:
public class B {
private static B _instance;
public static B getInstance() {
if (_instance == null) {
_instance = new B(new A());
}
return _instance;
}
private A _a;
private B (A a) {
_a = a;
_a.configure();
}
}
但这并不能给我的右边的实例?我想配置类A并获取它的实例。我的不好,如果我不太清楚我的问题。 –
然后像B一样添加一个方法getA(){return _a; } –
好吧,所以这似乎是工作......谢谢@Ash,希望这对其他人有用。 public class B {private static B _instance; private static A a = new A();如果(_instance == null){ _instance = new B(a);} {private static void init(){ if(_instance == null){ _instance = new B } } public static A getInstance(){ \t _instance.init(); \t return a; } private B(A a){a} a = a; _a.configure(); } } –