Java 中的运行时多态性


方法覆盖是运行时多态性的一个例子。在方法覆盖中,子类覆盖了与超类中签名相同的某个方法。在编译时,将检查引用类型。但是,在运行时,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");
   }
}
public class TestDog {
   public static void main(String args[]) {
      Animal a = new Animal(); // Animal reference and object
      Animal b = new Dog(); // Animal reference but Dog object
      a.move(); // runs the method in Animal class
      b.move(); // runs the method in Dog class
   }
}

输出

将生成以下结果 −

Animals can move
Dogs can walk and run

更新于: 17-Jun-2020

15K+ 次浏览

启动您的 职业

完成课程获得认证

开始
广告