java - 在 java 中,如何使用其父类(super class)也具有私有(private)构造函数的私有(private)构造函数创建一个类?

标签 java constructor

举个例子:

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/

相关文章:

java - Bigcommerce API Java 创建发货错误 400

c++ - 构造函数 : init() method, 指针中的异常,大型 try/catch 或..?

c++ - 在不让客户端等待程序执行的情况下限制构造函数可以采用的值

java - 重写 Java 中的构造函数

python:获取构造函数以返回现有对象而不是新对象

javascript - 构造函数中的函数名称有什么不同?

java - 如何从 MQTT 消息负载获取对象

java - JVM的引用类型

java在字节数组中的exe包装器运行时执行

Java:Object 类有构造函数吗?