子类调用父类再调用子类
时间: 2024-10-23 17:02:49 浏览: 24
在面向对象编程中,子类调用父类并进而调用自己的行为被称为"方法的嵌套调用"或者"递归调用"。当子类覆盖了父类的方法,并在这个方法内部再次调用了同名方法,通常是为了实现某种特定的功能或者处理一些更复杂的情况。
举个例子,假设有一个动物类Animal,它有一个通用的行为eat()。然后有个猫类Cat继承自Animal,它不仅实现了eat(),还添加了自己的吃鱼行为fish()。在Cat的eat()方法中,可能会先调用父类Animal的eat()方法(如果有的话),然后再调用自己的fish()方法:
```java
class Animal {
public void eat() {
System.out.println("Generic animal eating");
}
}
class Cat extends Animal {
@Override
public void eat() {
super.eat(); // 调用父类的eat()
fish(); // 然后调用自己的fish()方法
}
public void fish() {
System.out.println("Cat is eating a fish");
}
}
```
在这个场景下,当我们创建Cat的对象并调用它的eat()方法时,会先看到"Generic animal eating",接着是"Cat is eating a fish",展示了多态性和方法的嵌套调用的概念。
阅读全文