请教一下这个代码是怎么看的呀,为什么选A呢(没看懂A是什么意思)
因为子类在继承父类的时候,在子类中有有参的构造方法,那么就会覆盖父类中的有参构造方法,所以此时需要在父类中有一个无参的构造方法,否则会出现编译错误。
如果有帮助,请采纳哦,有什么问题可以追问!!!
调用子类的构造方法时,首先就会先调用父类的构造方法,但是在此代码种,父类 A 存在有参构造,因此编译器不会为它生成默认的无参构造,因此实例化子类时,就必须调用父类的有参构造,所以在子类的有参构造种缺少了语句
public class B extends A{
B(int m) {
super(m);
i = 2;
}
}
这样就不会出错了