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

不明白的是,在强制类型转换时到底会丢失什么,貌似不会丢失啊...比如:

1.在向上的类型转换时:Dog转换成Animal,因为Dog是继承的Animal,所以Dog拥有Animal所有的变量和方法,而且可能会有新的方法和新的变量,如果Dog转换成Animal,那么Dog独有的方法和变量是会丢失吗?重写的方法会怎样?

2.在向下类型转换时:Animal转换成Dog,因为Dog具有Animal所有的变量和方法,所以转换之后,Animal中的变量和方法在Dog中都有一一对应的存在,不会有丢失啊。但是Dog中如果将继承来的方法重写了会怎样?

我的认识和实际貌似是反过来的,不知道错在了哪里...?求解答....

正在回答

1 回答

向上转型的时候,只拥有父类的方法及变量,而向下转型的时候不仅拥有本身的方法变量还有父类的方法和变量。你可以用两个类来试试就知道了

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

胖猫CAT

你指的是子类转父类的,只会出现父类的方法和变量,而父类转子类,就会出现父类方法变量和子类的方法和变量。所以才会溢出,是不是?指的是类型的溢出,而不是信息的溢出。能否这样理解?
2014-10-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530814    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号