在网上找到这样一个解释,不过还是有点不太明白:
就以你和你父亲举个例子吧,你和你父亲有父子关系,那么如果你是个好孩子,你就会听你父亲的话,把你的部分事情交给你父亲安排,注意是部分不是所有,如果你是个坏孩子,你就不会让你父亲管你的任何事。在java中,假如类B是类A的子类,如果不向上转型的话,哪只能说明B拥有了A的所有非私有属性及方法,而A是没有B的属性及方法的,也就是说B没有给A任何管理权,就如你不让你父亲管你任何事情一样,而如果向上转型,就相当于B给了A部分管理权。转型可以方便项目的开发,Object类熟悉吧?有时候我们为了接受任意类型的参数就要使用它,为什么呢?因为它是所有类的父类啊!而我们在传递参数时传递的就是个子类对象,也就是所谓的向上转型,这么说不知道你明白了没。 |