首页 > Java > java教程 > 编译时多态和运行时多态的区别是什么?

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

WBOY
发布: 2023-09-03 12:57:07
转载
1154 人浏览过

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

多态性是最重要的 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");
   }
}
登录后复制

以上是编译时多态和运行时多态的区别是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板