比如说student是超类,下面有一个个子类goodstudent
现在定义
student s1 = new student();
student s2 = new goodstudent();
现在两个对象同时执行一个method1,那么什么情况下需要downcast? 什么时候会报错?什么时候不需要downcast?
(就是考虑method1在两个类里的情况。。)
java里什么情况要用向下转型?什么时候不用向下转型?
答案:4 悬赏:40 手机版
解决时间 2021-01-04 21:01
- 提问者网友:捧腹剧
- 2021-01-04 00:54
最佳答案
- 五星知识达人网友:酒者煙囻
- 2021-01-04 01:56
你用 父类给子类变量赋值 就要向下转型了
这个 无需转型 子类自动调用父类的方法 (如果自雷没有重写父类的方法的话)
如果是父类调用子类的方法的话就要向下转型了
这个 无需转型 子类自动调用父类的方法 (如果自雷没有重写父类的方法的话)
如果是父类调用子类的方法的话就要向下转型了
全部回答
- 1楼网友:迟山
- 2021-01-04 03:51
缸里水往桶里倒 桶里水往缸里倒
有一种叫 父类的实现指向子类的实例
- 2楼网友:想偏头吻你
- 2021-01-04 02:37
接口实例化经常会用到子类向上转型
interfact a{.......}
class b implements a{...}
a a=new b();
向下转型也有很多:比如:string str=(string)request.getparameter("info");
本来request.getparameter()返回的是object型,是最大的父类,向下转为string
总之
用到的地方很多
- 3楼网友:轮獄道
- 2021-01-04 02:09
这个东西应该算是灵活的吧,按照java多态的特性,你这个情况是存在 父类引用直接持有子类对象的。
也就是说,两者执行的是一个方法,没有什么downcast
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯