java面试之多态的好处以及如何实现

允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用).主要有以下优点:

可替换性:多态对已存在代码具有可替换性.

可扩充性:增加新的子类不影响已经存在的类结构.

接口性:多态是超类通过方法签名,向子类提供一个公共接口,由子类来完善或者重写它来实现的.

灵活性.

简化性.

代码中如何实现多态

实现多态主要有以下三种方式:

1. 接口实现

2. 继承父类重写方法

3. 同一类中进行方法重载

虚拟机是如何实现多态的

动态绑定技术(dynamic binding),执行期间判断所引用对象的实际类型,根据实际类型调用对应的方法.