Java 错误:默认构造函数未定义隐式超级构造函数
问题:子类和抽象基类的默认构造函数错误
Java 开发人员遇到错误“Implicit super默认构造函数的构造函数 BaseClass() 未定义。”从子类中删除冗余构造函数之后。他们想知道是否可以在仍然遵守模板方法模式的情况下删除构造函数。
A:构造和默认构造函数
出现错误是因为基类 ( BaseClass) 声明一个构造函数 (public BaseClass(String someString)),禁用默认构造函数(不带参数)。当从子类 (ACSubClass) 中删除构造函数时,编译器会通过默认构造函数插入对基类 (super()) 的无参构造函数的隐式调用。由于 BaseClass 没有无参构造函数,因此这是非法的。
可能的解决方案:
但是,如果基类需要构造函数参数,这些解决方案可能不可行。
此外,请考虑重构设计:
以上是Java 隐式超级构造函数错误:如何修复'隐式超级构造函数...默认构造函数未定义”?的详细内容。更多信息请关注PHP中文网其他相关文章!