Java多态总结

2018-01-15  本文已影响0人  kevin0806

<pre>

概念介绍

深入理解多态

**多态存在的三个必要条件:

一、要有继承;

二、要有重写;

三、父类引用指向子类对象。**

**Java中多态的实现方式:

接口实现

继承父类进行方法重写

同一个类中进行方法重载**

Java 的方法调用有两类,动态方法调用与静态方法调用。静态方法调用是指对于类的静态方法的调用方式,是静态绑定的;而动态方法调用需要有方法调用所作用的对象,是动态绑定的。类调用 (invokestatic) 是在编译时刻就已经确定好具体调用方法的情况,而实例调用 (invokevirtual) 则是在调用的时候才确定具体的调用方法,这就是动态绑定,也是多态要解决的核心问题。

方法表是动态调用的核心,也是 Java 实现动态调用的主要方式。它被存储于方法区中的类型信息,包含有该类型所定义的所有方法及指向这些方法代码的指针,注意这些具体的方法代码可能是被覆写的方法,也可能是继承自基类的方法。

1.比如:A a=new B():引用变量a决定了调用的是A类中的方法和属性,而引用的的对象类型B确定了调用的方法,如果B覆盖了A类的方法,那么调用B中重写的方法;如果没有覆盖,调用A类中的方法;
2.方法调用的优先问题 :优先级由高到低依次为:this.show(O)、super.show(O)、this.show((super)O)、super.show((super)O)

上一篇 下一篇

猜你喜欢

热点阅读