【发布时间】:2012-07-22 11:05:46
【问题描述】:
在 Java 中,在抽象类中使用私有构造函数的目的是什么?
在评论中我得到了这个问题,我很好奇,在什么情况下我们需要以这种方式使用构造函数?
我认为它可以与抽象类中的另一个构造函数配对使用,但这非常琐碎。也可用于构造超越抽象类的静态内部类。
也许还有更优雅的用法?
【问题讨论】:
-
我没有在这个问题上投票,但我怀疑投反对票的人反对“也许有更优雅的用法” - 这很宽泛,听起来很修辞。
-
问题是:"在Java中,抽象类中使用私有构造函数的目的是什么?"。这对我来说似乎已经足够具体了。
-
谢谢回复,可能你是对的。
-
当你在面试中遇到这样的问题时,通常没有一个正确的答案。面试官可能只是想测试你的思维过程。
-
如果您将最初的问题更改为“在 Java 中,在抽象类中使用私有无参数构造函数的目的是什么?”那么有一个很好的答案。它是强制子类提供与包含所需参数的抽象类中另一个构造函数的签名相匹配的构造函数。编译器将强制执行这有助于防止子类中的错误。如果问题重新打开,我可以提供详细的示例代码。
标签: java class constructor private abstract