慕粉00524729
2017-01-22 23:01
为什么可以从子类直接转换到父类,子类不是可以有自己的方法么?那这个方法要转换到父类不是会失败么?
|-------|
| 父类 |
| |
---------
| |
|子类 |
|额外 |
| |
---------
如上图所示,
如果父类new 一个对象,那么得到的对象占用的空间就是上图中”父类“那一块,此时如果转换成子类,那么就会用到“子类额外”那块,而这块内存没有申请,当访问的时候就会出错。
如果是子类new 一个对象,那么得到的就是整个上图的空间,转化为父类的话,只可能会访问到上面的部分,而此块内存是申请了的,所以访问不会出错。
子类转换为父类后,子类自己的方法在父类中无法访问,因为父类中没有定义。
没懂。。
Java中父类强制转换成子类的原则:父类型的引用指向的是哪个子类的实例,就能转换成哪个子类的引用
Java入门第二季 升级版
530560 学习 · 6091 问题
相似问题