关于引用类型转化的一些东西
发布日期:2021-06-29 11:11:26 浏览次数:3 分类:技术文章

本文共 514 字,大约阅读时间需要 1 分钟。

java中的引用其实就是我们看对象的角度而言;

例如,在继承中;
new出一个子类对象,站在子类的角度看,当然全部可以看到,
但是站在父类的角度看,则只能看到父类的那部分;这个可以看内存图了;
但是在内存分析中,
引用就是存放在栈中的一个变量,存放这它所指向对象的内存;
这里写图片描述

进入主题吧;

在继承时的类型指向;
先记住引用指向,只能有两种;
1;指向本身对象;
2;子类对象;

还记得上这个课的时候我还好大胆的质疑了这个,我知道子类引用指向父类对象是错的,运行的时候会报错,但是我还是提出了质疑,然后好尴尬的与老师对讲了几分钟,在最后面还是老师提醒到了;

先说一下坚持我否认这个真理的理由吧?
先看一幅继承的堆内存图吧?
这里写图片描述
在堆内存中,子类是包含父类的,因此我觉得子类引用指向父类对象是可行的,因为子类是包含父类的,是否意味着子类的引用可以指向父类对像呢?因为子类引用是可以看到父类的成员的。
因此内存图的解释使我始终认为子类引用是可以指向父类对象的,
知道与;老师争辩时,他说道java是面向对象的,是与现实社会挂钩的,那么就意味着这样是不能的,看图
这里写图片描述
但是要注意只要存在继承关系,引用乱指都是可以通过编译的,但是运行时就会出现错误;
这里写图片描述

转载地址:https://blog.csdn.net/zw1996/article/details/53511716 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java中insteanceof运算符
下一篇:java-三大特性之一继承

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月04日 22时28分23秒