从子类调用重载函数

时间:2015-02-17 05:33:33

标签: java inheritance overloading

我有两个非常相似的课程。我们说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
  }
}

我希望能够拥有Bird和Hawks。在Hawk上调用fly()时,我仍然希望运行Bird的fly方法,最后只进行几次更改。我是以正确的方式来做这件事的吗?

2 个答案:

答案 0 :(得分:3)

尝试使用super关键字,如:

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

答案 1 :(得分:-1)

使用超级关键字。当我们想要调用超类方法/构造函数

时,我们只使用Super关键字
public void fly()
  {
    Super.fly() 
  }