轉型前後的資料類型是...?
請問,已知Animal為父類、Dog、Cat為子類的情況下
1.下面圖片中的程式碼,關於變量one、two的資料型別是否為Animal類?three、four的資料型別是否為Cat或Dog類?
2.如果我將『向上轉型』理解為:使用子類當作模板創造出一個父類的對象,所以創造出來的對象只能調用的它自己(父類)的方法,請問這樣的想法是正確的嗎?
2.如果我將『向下轉型』理解為:把向上轉型的變量,透過強制轉型(前提是用instanceof檢查是否可以轉換)為原本的子類對象,讓變量可以調用本屬於自己的子類方法,請問這樣的想法是正確的嗎?
正在回答
同学你好,如下对同学的代码进行一一回复:
1、下面圖片中的程式碼,關於變量one、two的資料型別是否為Animal類?
同学这里的one是指如下这个嘛?
如果是,理解是对的
2、three、four的資料型別是否為Cat或Dog類?
不是,three是Animal类类型的引用。其次关于four,建议同学截图完整一些
3、未能准确理解同学说的意思,建议同学重新描述。
Ps:父类引用指向子类对象就是向上转型。这里同学可以结合图中代码理解:
Cat继承Animal类的前提下,我们定义一个Animal的引用:
Animal animal;
指向Cat对象:
animal=new Cat();
合起来,父类引用指向子类对象,即:
Animal animal=new Cat();
4、理解是可以的
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题
登录后可查看更多问答,登录/注册
- 参与学习 人
- 提交作业 9401 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星