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

为什么老师讲的向上转换是小类型到大类型的转换

但是却可以写Animal animal= dog  ?这不是大类型转换成小类型吗??

正在回答

4 回答

只要你记得,子类是小类型,它的超类是大类型,小类型赋值给大类型,就是向上,大类型赋值给小类型就是向下。而你给出的Animal animal= dog,就是向上转型,是小类型赋值给大类型。

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

轩辕诗垚 提问者

恩谢谢明白了
2016-07-29 回复 有任何疑惑可以回复我~
#2

轩辕诗垚 提问者

非常感谢!
2016-07-29 回复 有任何疑惑可以回复我~
#3

KeT 回复 轩辕诗垚 提问者

能帮助到别人,我很快乐。
2016-07-30 回复 有任何疑惑可以回复我~

Animal animal = dog,本来是想在等号右边赋一个animal,结果赋了一个dog,因为Dog继承了Animal,所以狗是动物,因此可以这样写,是dog能被称为animal的基础,所以可以说是小类型转换吧..

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

Animal是大类呀

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

轩辕诗垚 提问者

如果说Animal时大类型的话那他写的Animal animal=dog;就应该属于大类型转换成小类型,是向下的啊,并不是代码里注释写的一样啊。。。
2016-07-28 回复 有任何疑惑可以回复我~
#2

qq_影_12 回复 轩辕诗垚 提问者

这个相当于一个赋值,一个大类 = 一个小类,将小类的值赋给了大类,是不是小类型转换为大类型呢?
2016-07-28 回复 有任何疑惑可以回复我~
#3

轩辕诗垚 提问者 回复 qq_影_12

哦哦,明白了谢谢
2016-07-29 回复 有任何疑惑可以回复我~

确定dog后面没有个Animal()?

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

轩辕诗垚 提问者

他之前已经写了Dog dog=new Dog();不过这并不是我要问的啊,我问的主要是谁大谁小的问题。。
2016-07-28 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么老师讲的向上转换是小类型到大类型的转换

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