我有2个非常相似的课程。假设birdhawk

class Bird
{
  ...
  public void fly()
  {
    //do a lot of stuff here
  }
}

class Hawk extends Bird
{
  public void fly()
  {
    parent.fly() // how can I call the overloaded parent method?
    //a couple changes specific to hawk here
  }
}


我希望能够同时拥有Birds和Hawks。在Hawk上调用fly()时,我仍然想运行Bird的fly方法,最后只进行一些更改。我要这样做正确吗?

最佳答案

尝试使用super关键字,例如:

class Hawk extends Bird {
    public void fly() {
        super.fly() // use keyword super instead of parent
    }
}

10-08 19:10