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

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

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
提交
取消
意见反馈 帮助中心 APP下载
官方微信