理解:
B是A的子类或间接子类,用子类B创建一个对象,并把这个对象的引用放到类声明的对象中。
如:
<span style="font-size:14px;">A a ;
B b = new B();
a=b;</span>
a对象就是子类b 的上转型对象。
对象a实体由b创建,a会失去一些东西
对象的上转型对象的实体是子类负责创建的,但是上转型对象会失去原对象的一些属性和功能。
特点:
上转型对象不能操作子类声明定义的成员变量,不能使用子类声明定义的方法。
上转型对象可以代替子类对象去调用子类重写的实例方法。
上转型对象可以调用子类继承的成员变量和隐藏的成员变量。
简单理解上转型对象:
这么来说,上转型对象不是父类创建的对象,而是子类对象的“简化”形态,它不关心子类新增的功能,只关心子类继承和重写的功能。
注:不能将父类创建的对象的引用赋值给子类声明的对象。