使用Singleton设计与继承我有其中的代码是有点这样写的在多线程应用程序
public Interface SuperCLass{
//....to do some methods
}
public class BaseClass1 implements SuperCLass{
//....to do some methods
}
public class BaseClass2 implements SuperCLass{
//....to do some methods
}
现在,在我的应用程序只有一个对象可以被实例化超类引用的应用程序,即同步单。现在
,我可以包括
public static synchronized SuperCLass getInstance(){
//initialise
}
任何基类的
,但我不能包括在父类接口此声明,由于我不能回来使用超类的引用基类的实例。 例如 我想以后要做到这一点(它是一个非常模糊的例子)
BaseClass1 bc1 = BaseClass1.getInstance();
SuperClass sc = bc1.getInstance();
现在某处代码
bc1=sc.getInstance();
如何才能实现这一目标?
注:多个线程会访问这些对象,因此同步是强制性
为什么你想显式强制转换为'SuperClass'? 'BaseClass1'继承了“接口”。 – Smutje 2014-09-22 10:53:58
你的问题目前还不清楚,但只要在singleton工厂方法中加入'synchronized',绝对不会让你的单例线程安全。 – 2014-09-22 10:54:14
你的陈述“使用超类的引用取回基类的实例”尚不清楚。 – 2014-09-22 10:54:26