加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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个单例类运行的实例.

如果原始单身在概念上确实应该是单身,那么使用构图可能就是要走的路.然而,失去了可替代性(你的类不能替代原来的单例;它只是使用它).

你有一个具体的例子吗?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读