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

2023年 9月 3日 90.3k 0

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

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

登录后复制

以上就是编译时多态和运行时多态的区别是什么?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论