多态:调用一个方法(c语言叫函数)时,不是看引用的类型,而是看对象的实际类型
例如:
隐式转换(子类转化为父类)
ApplePie a1 = new ApplePie(); //前提是ApplePie继承了Pie这个父类 class ApplePie extends Pie
Pie a2 = a1;
a2的引用类型是Pie,但是他实际代表的是ApplePie类型
即打印出的a2就是使用的ApplePie(子类)中的算法
显式转换(父类转化成子类)
ApplePie a3 = (ApplePie)a2;
因为a2的实际指向是ApplePie,所以是可以转换的(因为a2的引用类型是Pie,所以要在前面加一个(ApplePie)进行转换)