多态中的引用类型转换,教程中用了一个茶壶和茶杯倒茶的比喻,我认为是很不恰当的,会误导学员。
本质来说,子类比父类需要更多的存储空间,子类强制转换成父类,是因为父类要的东西子类都有,所以不存在风险,而父类转换成子类,则子类要的东西可能没有,所有有风险。强制准换有分先不是因为东西溢出,而是东西不够。
但另一方面,在C语言中(Java也差不多),大类型的数据和小类型的数据之间的转换,比如从int型转换到char型数据,这个比喻就很恰当了。
回答的很帮!谢谢咯!
非常感谢
...........是这个道理 !!! ...记住所有类都可以转换为Object, 说明往上转没风险,另外一个因为缺少特有内容而有风险!