JAVA中 B类实现了接口A C类继承了B类 接口A和类C可以实现多态 原理是什么

2020-06-10 社会 106阅读
多态。子类可以继承父类的方法,也可以覆盖父类方法。原因在于对象实例中的方法表。
“方法表”是对象实例的一个内部数据结构,它保存了“方法”在方法区中的地址。

继承:子类调用父类方法,本质上是子类方法表中对应方法的指针指向了父类的方法表中的某个位置(父类中那个位置的指针指向了“方法区”,也就是保存方法中的指令的地方)。

覆盖:方法指针不指向父类的方法表了,而是直接指向了方法区中放置自身方法定义的那段内存。
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com