为了账号安全,请及时绑定邮箱和手机立即绑定

为什么可以从子类直接转换到父类,子类不是可以有自己的方法么?那这个方法要转换到父类不是会失败么?

为什么可以从子类直接转换到父类,子类不是可以有自己的方法么?那这个方法要转换到父类不是会失败么?

正在回答

3 回答

|-------|
| 父类   |  
|       |
---------
|       |
|子类    |
|额外    |
|       |
---------
如上图所示,
  如果父类new 一个对象,那么得到的对象占用的空间就是上图中”父类“那一块,此时如果转换成子类,那么就会用到“子类额外”那块,而这块内存没有申请,当访问的时候就会出错。
  如果是子类new 一个对象,那么得到的就是整个上图的空间,转化为父类的话,只可能会访问到上面的部分,而此块内存是申请了的,所以访问不会出错。

  子类转换为父类后,子类自己的方法在父类中无法访问,因为父类中没有定义。

5 回复 有任何疑惑可以回复我~

没懂。。

0 回复 有任何疑惑可以回复我~

Java中父类强制转换成子类的原则:父类型的引用指向的是哪个子类的实例,就能转换成哪个子类的引用

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么可以从子类直接转换到父类,子类不是可以有自己的方法么?那这个方法要转换到父类不是会失败么?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信