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

java – 抽象类中的私有构造函数[closed]

发布时间:2020-12-14 05:12:58 所属栏目:Java 来源:网络整理
导读:在 Java中,在抽象类中使用私有构造函数的目的是什么? 在一个评论中,我得到了这个问题,我很好奇,需要用什么样的方式来使用构造函数? 我认为它可以与抽象类中的另一个构造函数配对使用,但这是非常微不足道的.它也可以用于构建静态内部类,这将使得抽象类将被
在 Java中,在抽象类中使用私有构造函数的目的是什么?

在一个评论中,我得到了这个问题,我很好奇,需要用什么样的方式来使用构造函数?

我认为它可以与抽象类中的另一个构造函数配对使用,但这是非常微不足道的.它也可以用于构建静态内部类,这将使得抽象类将被激发.

也许有更优雅的用法?

解决方法

如果私有构造函数是该类的唯一构造函数,则原因很明确:防止子类化.一些类仅用作静态字段/方法的持有者,并且不希望被实例化或子类化.请注意,抽象修饰符在这种情况下是冗余的,有或没有它,将不会有实例化.正如@JB Nizet在下面注释的,抽象修饰符也是不好的做法,因为它向类的客户端发送错误的信号.实际上这个课程是最终的.

还有另一个用例,但很少见,但您可以拥有一个只包含自己的子类作为嵌套类的私有构造函数的抽象类.这个成语确保这些嵌套类是唯一的子类.事实上,Java中的枚举只是使用这个成语.

如果周围还有其他构造函数,那么私有构造函数真的没什么特别的.它像在任何其他的一样在一个抽象类中使用.

(编辑:李大同)

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

    推荐文章
      热点阅读