如何解决“隐式超级构造函数classA()不可见。必须显式调用另一个构造函数吗?

【字号: 日期:2024-02-26浏览:47作者:雯心
如何解决如何解决“隐式超级构造函数classA()不可见。必须显式调用另一个构造函数吗??

将ClassA的构造方法可见性从更改private为protected。

构造函数总是从调用超类构造函数开始。如果构造函数显式包含对超类构造函数的调用,则使用该构造函数。否则,将隐含无参数构造函数。如果无参数构造函数不存在或对子类不可见,则会出现编译时错误。

解决方法

我有一个带有私有构造函数的类’ClassA’。

public final class ClassA{ private ClassA{ } public static void main(String[] arg) }{ ; ; ; }}

现在,我正在扩展类’ClassA’[ 在执行此操作之前删除了 final 关键字]

public class ClassB extends ClassA{ public static void main(String[] arg) }{ ; ; ; }}

现在,我得到了Implicit super constructor classA() is not visible. Must explicitlyinvoke another constructor。这是什么意思,如何解决?

注意 我不能更改ClassA构造函数的访问说明符。

相关文章: