微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

Java中,在抽象类中使用私有构造函数的目的是什么?

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

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

也许有更优雅的用法

解决方法

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

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

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

原文地址:https://www.jb51.cc/java/123154.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐