Java运行时多态与多层继承


方法重写运行时多态 的一个例子。在方法重写中,子类会重写其超类中具有相同签名的某个方法。在编译时,检查会针对引用类型进行。但是,在运行时,JVM 会确定对象的类型,并运行属于该特定对象的某个方法。

问题陈述

使用 Java 中的 多层继承 和方法重写来演示运行时多态。

输出

Animals can move
Puppy can move.

朴素方法

以下是使用多层继承在 Java 中实现运行时多态的步骤:

  • 步骤 1: 定义一个 Animal 类,其中包含一个 move() 方法。
  • 步骤 2: 创建一个 Dog 类,扩展 Animal 并重写 move() 方法。
  • 步骤 3: 创建一个 Puppy 类,扩展 Dog 并重写 move() 方法。
  • 步骤 4: 在 main 方法中,创建一个 Animal 引用和对象,以及一个 Animal 引用与 Puppy 对象。
  • 步骤 5: 在这两个引用上调用 move() 方法,以演示运行时多态。

使用多层继承实现运行时多态的示例

我们可以在多层继承的任何级别重写方法。请参阅下面的示例以了解该概念:

class Animal {
 public void move() {
System.out.println("Animals can move");
 }
}
class Dog extends Animal {
 public void move() {
System.out.println("Dogs can walk and run");
 }
}
class Puppy extends Dog {
 public void move() {
System.out.println("Puppy can move.");
 }
}
public class Tester {
 public static void main(String args[]) {
Animal a = new Animal(); // Animal reference and object
Animal b = new Puppy(); // Animal reference but Puppy object
a.move(); // runs the method in Animal class
b.move(); // runs the method in Puppy class
 }
}

输出

Animals can move
Puppy can move.

更新于: 2024-07-23

2K+ 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始
广告