父类子类,变量覆盖的问题
先看这样两段代码:
class Bomb
{
static boolean isFirst = true;
public Bomb(Shot shot)
{
}
}
class ShotBomb extends Bomb
{
isFirst = false;//为什么会报错?
public ShotBomb(Shot shot)
{
this.x = shot.x - 30;
this.y = shot.y - 30;
this.s = shot;
isFirst = true;//为什么编译通过?
}
}
类中只能定义变量和方法,如果想覆盖父类中的变量,就重新初始化一个isFirst,如果想调用父类中的变量,则可以通过super.isFirst来实现,并且只能将赋值语句写在方法体中。