java – 我应该为我的单例类创建受保护的构造函数吗?
发布时间:2020-12-15 08:36:53 所属栏目:Java 来源:网络整理
导读:按照设计,在Singleton模式中,构造函数应标记为private,并提供重新构建同一类型实例的私有静态成员的创建方法.我只创建了这样的单例类. public class SingletonPattern {// singleton class private static SingletonPattern pattern = new SingletonPattern(
按照设计,在Singleton模式中,构造函数应标记为private,并提供重新构建同一类型实例的私有静态成员的创建方法.我只创建了这样的单例类.
public class SingletonPattern {// singleton class private static SingletonPattern pattern = new SingletonPattern(); private SingletonPattern() { } public static SingletonPattern getInstance() { return pattern; } } 现在,我必须扩展一个单例类来添加新的行为.但私有构造函数不允许定义子类.我正在考虑将默认构造函数更改为单例基类的受保护构造函数. 如果我将构造函数定义为受保护,可能会出现什么问题? 寻找专家意见…. 解决方法
如果你通过继承扩展单例类,如果有人抓住你的单例和原始单例,你将有2个单例类运行的实例.
如果原始单身在概念上确实应该是单身,那么使用构图可能就是要走的路.然而,失去了可替代性(你的类不能替代原来的单例;它只是使用它). 你有一个具体的例子吗? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |