java小程序继承报错

2025-05-19 14:39:22
推荐回答(3个)
回答1:

因为在父类中你自己定义了构造方法
public Tank(int x,int y)
{
this.x=x;
this.y=y;
}
那么系统就不会再为你提供默认的构造方法,Java虚拟机在加载类的时候是先加载父类,再加载子类,所以在子类中就要自己手动重写父类的构造方法,或者用super方法,不然JVM找不到父类默认的构造方法就会出错

回答2:

class Tank 没有定义不带参数的构造方法
子类继承父类的时候是必须继承构造方法的,但是你的子类只有默认的无参构造,就会报错,
你可以给Tank定义一个无参构造,当然如果没用的话就没必要
子类写成
public Hero(intx, int y){
super(x,y);
}

回答3:

你的Tank里写了Tank(int x, int y)构造方法,默认就不会有Tank()构造方法。当前Hero在继承的时候找不到Tank()构造方法就会报错啦! 如果写了自己的构造方法必须把默认的构造方法写出来即:public Tank(){}