多态:同一对象在不同情况下的不同状态
前提与体现:
有继承/实现关系 有方法重写
父类引用指向子类对象(父类 对象名=new 子类构造函数)
变量看父类中的,
方法看子类中的,(因为子类方法重写)
定义一个jiazu方法来管控被重写的show类。
每个子类都对父类的show重写,该方法在不同的子类中有不同的用处。
Jiazugn方法的参数为fu类对象,这样子类对象进来时,按照方法访问特点会直接去调用各子类中的对该方法的重写内容。
向上转型:父类引用指向子类对象:
向下转型:父类引用转为子类对象:
(向下转型 解决了 多态 中 父类引用 无法调用 子类特有方法 的问题)
zi类对象和zi1类对象在堆内存
fu类引用在栈内存,根据地址进行调用