黑马程序员技术交流社区
标题:
为什么子类要向上转型啊?谁能解释一下
[打印本页]
作者:
dadai5ai
时间:
2015-7-12 16:03
标题:
为什么子类要向上转型啊?谁能解释一下
多态性的概念老师讲的课我认真听了,但是还是糊里糊涂的,求大神解答~~~~
作者:
dadai5ai
时间:
2015-7-12 16:09
在网上找到这样一个解释,不过还是有点不太明白:
就以你和你父亲举个例子吧,你和你父亲有父子关系,那么如果你是个好孩子,你就会听你父亲的话,把你的部分事情交给你父亲安排,注意是部分不是所有,如果你是个坏孩子,你就不会让你父亲管你的任何事。在java中,假如类B是类A的子类,如果不向上转型的话,哪只能说明B拥有了A的所有非私有属性及方法,而A是没有B的属性及方法的,也就是说B没有给A任何管理权,就如你不让你父亲管你任何事情一样,而如果向上转型,就相当于B给了A部分管理权。转型可以方便项目的开发,Object类熟悉吧?有时候我们为了接受任意类型的参数就要使用它,为什么呢?因为它是所有类的父类啊!而我们在传递参数时传递的就是个子类对象,也就是所谓的向上转型,这么说不知道你明白了没。
作者:
Love丶cd
时间:
2015-7-12 16:12
子类转父类是自动转的,而父类转自类转子类是需要强制转换的。因为在子类中会有父类没有实现的方法,如果不强制转型,会出现编译错误。至于你说的为毛子类要向上转型,我是真心觉得你听课听的太那啥了在!!!!!!!!
作者:
dadai5ai
时间:
2015-7-12 16:22
Love丶cd 发表于 2015-7-12 16:12
子类转父类是自动转的,而父类转自类转子类是需要强制转换的。因为在子类中会有父类没有实现的方法,如果不 ...
确实不太理解,我回头再看看视频复习一下~~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2