基类与子类之间的引用转换

(一)

从该源代码中可看出,子类可直接赋给基类(“基类变量=子类对象”);基类的引用类型要传递给子类必须通过强制转换(“子类变量=(子类名)基类对象”);

子类之间不可以进行转换。

(二)

该源代码可总结出:

当基类与子类有同名的变量时,以引用变量为准,引用变量是谁,就调用哪个类的变量;
当基类与子类有同名的方法时,以具体对象类型为准,对象是什么类型,就调用哪个类的方法;
基类与子类之间的转换:基类变量可以直接引用子类对象,或者直接将子类对象赋给基类变量;
但是基类对象要转换为子类变量时,就必须进行强制转换。
基类与子类之间的转换只是转换了引用类型,并不是改变了真实的对象。

原文地址:https://www.cnblogs.com/96ZYJ/p/4964285.html