java父类调用子类
时间: 2023-08-08 20:09:02 浏览: 142
在 Java 中,父类不能直接调用子类的方法。但是,可以通过多态的方式实现子类的方法被调用。具体来说,可以定义一个父类的方法,该方法接收一个父类对象作为参数,并在方法体内调用该对象的方法。如果传入的对象是子类的实例,则子类方法会被调用。示例代码如下:
```java
class Animal {
public void makeSound() {
System.out.println("Animal is making a sound");
}
}
class Cat extends Animal {
public void makeSound() {
System.out.println("Meow!");
}
}
class Main {
public static void main(String[] args) {
Animal animal = new Cat();
animal.makeSound(); // 输出 "Meow!"
}
}
```
在上面的代码中,定义了一个 Animal 父类和一个 Cat 子类。Animal 类中定义了 makeSound 方法,该方法输出 "Animal is making a sound"。Cat 类继承了 Animal 类,并重写了 makeSound 方法,使其输出 "Meow!"。在主函数中,创建了一个 Cat 对象,并将其赋给了 Animal 类型的变量 animal。然后调用了 animal 的 makeSound 方法,由于 animal 实际上是 Cat 类型的对象,因此 Cat 类的 makeSound 方法被调用,输出 "Meow!"。
阅读全文