发布网友 发布时间:2024-10-09 06:53
共2个回答
热心网友 时间:2024-10-18 05:35
1 编译不通过的原因
类A中缺少 无参构造函数
2 解决方案
给父类A添加一个无参构造函数
正确的代码如下:
class A {3 分析
在Java中,对于一个类来说
如果它没有定义构造函数,则编译器会为其生成一个 无参构造函数
如果它定义了构造函数,则编译器就不会为其生成无参构造函数了
下述代码中,
class A {类A中是没有无参构造函数的
但是当B继承A,则要求父类A中必须有 无参构造函数
所以报错
4 扩展
如下代码也是正确
class A {热心网友 时间:2024-10-18 05:35
原理是B类继承A类,所以B类的对象构造的时候必须先构造A类的部分,那么应该调用A的哪个构造函数? B类不知道,不知道就只好调用默认构造函数,但是没有。