public class Dog extends Animal {
public Dog() {
}
public Dog(int age, String name) {
super. (age, name);
}
@Override
public void eat() {
System.out.println(" 狗吃骨头");
}
}
另一个Cat类也是同样的问题
你得supe应该这样写 super(name,age);
super是基类的意思
super点后面你要写函数名呀
要么把点删了,就表示基类的构造函数
点括号是什么语法
age和name是参数,不是标识符
标识符是指令、函数这些东西
你不能不写函数名光写个括号呀
构造函数的问题,子类构造函数要调用父类的直接super(有参数就写,没参数不写); 这个不需要点的,修改如下:
public class Dog extends Animal {
public Dog() {
}
public Dog(int age, String name) {
super(age, name);
}
@Override
public void eat() {
System.out.println(" 狗吃骨头");
}
}
Cat类同样的修改即可。
为什么还要用super 去. 呢