多态性是最重要的 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] 举报,一经查实,本站将立刻删除。