为什么父类写有有参构造函数后在子类里也必须有带参——
父类代码:
package com.imooc.animal;
public class Animal {
private String kind;
public Animal(String kind) {
}
public void cry() {
}
}
子类代码:
package com.imooc.animal;
public class Cat extends Animal {
public Cat(String kind) {
super(kind);
// TODO 自动生成的构造函数存根
}
public void cry() {
System.out.println("小猫的叫声:喵喵喵~~~ ");
}
}
为什么父类写有有参构造函数后在子类里也必须有带参构造函数且参数为kind而且方法体内有super()呢?
谢谢!
16
收起
正在回答
1回答
子类Cat构造有没有参数,语法都没有规定。但这里为什么子类构造要加参数呢?是因为子类Cat构造方法默认会走父类Animal()无参数构造方法。而父类不存在无参数构造方法,所以只能走Animal(String kind)而kind从哪来,最好也是外部传来,如果不是外部传来,你直接写死super(“cat”);也是没有问题的。祝:学习愉快
Android零基础入门2018版
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7238 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星