首页 > 编程知识 正文

父类的引用指向子类的对象是多态的一种体现形式,将一个父类的引用指向一个子类对象称为

时间:2023-05-05 06:07:06 阅读:181579 作者:3040

说到底,并没有给出可以通过代码检查的理解。 1 .如果子类不覆盖某个方法,则父类引用将调用父类自身的旧方法。 2 .如果子类覆盖了某个方法,则父类引用将调用子类重定义的新方法。 3 .如果子类覆盖了某个属性,则父类引用调用父类自身的旧属性。 4 .子类必须覆盖某个属性,父类引用调用父类自身的旧属性5 .父类引用无法访问子类新定义的属性和方法。 这里有关于Java多态性的原理和特性,可以理解如下,但仅凭个人的理解,可以通过这个猜测来理解,但实际实现原理并不一定是错误的想法,看到了对jvm内容的修改

jvm在堆栈中创建父类的类型引用,包括所有父类的方法和属性;

jvm在堆中创建子类对象,包括子类属性方法、父类属性方法;

子类改写的方法是置换了父类方法(类方法、变量不能改写)。

jvm基于匹配模式允许栈中的引用指向堆中的对象,但栈中的父类引用与子类对象兼容,因此对象引用可以是父类的属性、父类的方法或子类

以前4个条件为前提,可以理解为什么多态性具有以上特性。

最后补充:以上发言为个人猜测理解,不能保证原理是这样的,作为帮助理解3358www.Sina.com/的一种方法详情请参照相关书籍。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。