具有多级继承的 Java 运行时多态性
javajava programming java 8
方法覆盖是运行时多态性的一个例子。在方法覆盖中,子类覆盖具有与其超类中相同签名的方法。在编译时,将对引用类型进行检查。但是,在运行时,JVM 会确定对象类型并运行属于该特定对象的方法。
我们可以在多级继承的任何级别覆盖方法。请参阅下面的示例以了解概念 −
示例
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("小狗可以移动。"); } } public class Tester { public static void main(String args[]) { Animal a = new Animal(); // Animal 引用和对象 Animal b = new Puppy(); // Animal 引用但 Puppy 对象 a.move(); // 运行 Animal 类中的方法 b.move(); // 运行 Puppy 类中的方法 } }
输出
Animals can move Puppy can move.