假设,B是A的子类或者间接子类,当我们用子类B来创建一个对象,并把这个对象的引用放到类A申明的对象中时,如: A a; B b =new B(); a=b; 那么,就称对象a是子类对象b的上转型对象(好比说“老虎是哺乳动物”)。
对象的上转型对象的实体是子类负责创建的,但上转型对象会失去原对象的一些属性和功能。
可以这样来简单地理解上转型对象:上转型度对象不是父类创建的对象,而是子类对象的“简化”形态,它不关心子类新增的功能,只关心子类继承和重写的功能。
简而言之,就是超类的引用可以指向子类的对象。解析:子类继承了超类中的所有成员,在可以用到超类中的地方均可以用子类来代替。例如:A是超类,B是A的子类,原本可这样写
A a=new A();现在可以这样写:A a=new B();
在继承树里面,父类在上面,子类在下面,因此把子类转型成父类就是向上转型
子类可以向上转型为父类,而父类不可以转型成子类