微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

编译时多态和运行时多态的区别是什么?

编译时多态和运行时多态的区别是什么?

多态性是最重要的 OOP 概念之一。这是一个我们可以通过多种方式执行单个任务的概念。多态性有两种类型,一种是编译时多态性,另一种是运行时多态性。

方法重载是编译时多态性的示例,方法重写是运行时多态性的示例。

方法重载是编译时多态性的示例,方法重写是运行时多态性的示例。 p>

可以通过动态绑定来实现

高级。 关键 编译时多态 运行时多态性
1

基本

编译时多态意味着绑定发生在编译时

运行时多态性,在运行时我们知道将调用哪个方法

2

静态/动态绑定

可以通过静态绑定来实现

4.

继承

不涉及继承

涉及继承

5

示例

方法重载为编译时多态性的示例

方法重写是运行时多态性的示例

编译时多态性示例

public class Main {
   public static void main(String args[]) {
      CompileTimePloymorphismExample obj = new CompileTimePloymorphismExample();
      obj.display();
      obj.display("polymorphism");
   }
}
class CompileTimePloymorphismExample {
   void display() {
      System.out.println("In display without parameter");
   }
   void display(String value) {
      System.out.println("In display with parameter" + value);
   }
}

运行时多态性示例

public class Main {
   public static void main(String args[]) {
      RunTimepolymorphismParentClassExample obj = new RunTimepolymorphismSubClassExample();
      obj.display();
   }
}

class RunTimepolymorphismParentClassExample {
   public void display() {
      System.out.println("Overridden Method");
   }
}

public class RunTimepolymorphismSubClassExample extends RunTimepolymorphismParentExample {

   public void display() {
      System.out.println("Overriding Method");
   }
}

以上就是编译时多态和运行时多态的区别是什么?的详细内容,更多请关注编程之家其它相关文章

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐