A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

多态性的概念老师讲的课我认真听了,但是还是糊里糊涂的,求大神解答~~~~

3 个回复

倒序浏览
在网上找到这样一个解释,不过还是有点不太明白:

就以你和你父亲举个例子吧,你和你父亲有父子关系,那么如果你是个好孩子,你就会听你父亲的话,把你的部分事情交给你父亲安排,注意是部分不是所有,如果你是个坏孩子,你就不会让你父亲管你的任何事。在java中,假如类B是类A的子类,如果不向上转型的话,哪只能说明B拥有了A的所有非私有属性及方法,而A是没有B的属性及方法的,也就是说B没有给A任何管理权,就如你不让你父亲管你任何事情一样,而如果向上转型,就相当于B给了A部分管理权。转型可以方便项目的开发,Object类熟悉吧?有时候我们为了接受任意类型的参数就要使用它,为什么呢?因为它是所有类的父类啊!而我们在传递参数时传递的就是个子类对象,也就是所谓的向上转型,这么说不知道你明白了没。
回复 使用道具 举报
子类转父类是自动转的,而父类转自类转子类是需要强制转换的。因为在子类中会有父类没有实现的方法,如果不强制转型,会出现编译错误。至于你说的为毛子类要向上转型,我是真心觉得你听课听的太那啥了在!!!!!!!!
回复 使用道具 举报
Love丶cd 发表于 2015-7-12 16:12
子类转父类是自动转的,而父类转自类转子类是需要强制转换的。因为在子类中会有父类没有实现的方法,如果不 ...

确实不太理解,我回头再看看视频复习一下~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马