java 父类调用子类的方法
时间: 2024-11-16 07:20:07 浏览: 4
Java中父类怎么调用子类的方法
在Java中,当一个父类引用指向一个子类对象时,即使父类并没有直接声明该子类的方法,也能通过这个引用调用子类的方法。这是因为在Java的面向对象设计中,子类继承了父类的所有属性和方法,并可以添加自己的特有功能或覆盖父类的方法(即方法重写)。这种机制使得代码更具灵活性,父类无需了解实际的对象类型就能调用相应的行为。
例如:
```java
class Parent {
public void parentMethod() {
// 调用子类的方法
childMethod();
}
// 定义通用的方法
protected void childMethod() {
System.out.println("Parent calling the method.");
}
}
class Child extends Parent {
@Override
protected void childMethod() {
System.out.println("Child is overriding the method.");
}
}
// 使用时
Parent parent = new Child(); // 子类对象通过父类引用
parent.parentMethod(); // 输出 "Child is overriding the method."
```
在这个例子中,`parentMethod()` 虽然在 `Parent` 类中定义,但它实际上调用了 `childMethod()`,由于子类 `Child` 重写了这个方法,所以会执行 `Child` 的版本。这就展示了 Java 中的动态绑定(dynamic binding),也称为晚期绑定(late binding)。
阅读全文