关于多态:(重写:同一个动作对不同对象有不同行为)
父类的引用(指针)可以代替子类(左父右子)
Animal a = new Dog();
父类引用可以(强制)转换为子类
Animal a = new Dog();
Dog d = (Dog)a ;
强制转换:
在关于父类表示子类,子类中父类没有的数据和方法,当它存为父类后在强制转换为子类后,子类中的方法数据仍然存在!(如
下例中调用的c.work())
ps : (a instanceof cat)类型判断,a 是否是cat类或其子类;
必须有父类指针指向子类(继承/重写);
若子类中有父类未有的函数,不调用不报错。由if else 帮助转换:
关于判断是否为其对象(instanceof):