举个例子:
public class Foo {
private Foo() {}
}
public class Bar extends Foo {
private Bar() {}
static public doSomething() {
}
}
那是一个编译错误。一个类至少需要隐式调用其父类(super class)的默认构造函数,在这种情况下,它在 Foo 中是不可见的。
我可以从 Bar 调用 Object 的构造函数吗?
最佳答案
你不能。您至少需要将 Foo 的构造函数包设为私有(private)(尽管我可能只是将其设为 protected 。
(编辑 - 这篇文章中的评论提出了一个很好的观点)
关于java - 在 java 中,如何使用其父类(super class)也具有私有(private)构造函数的私有(private)构造函数创建一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/462094/