一、多态的两个核心表现
1、方法的多态性
|- 重载:同一个方法名称,通过参数不同的类型或个数,可调用不同的方法;
|- 重写:同一个父类的方法,可能根据不同子类的重写,有不同的实现。
2、对象的多态性(前提:方法重写)
|- 【自动转换】对象的向上转型:父类 父类对象 = 子类实例
|- 【强制转换】对象的向下转型:子类 子类对象 = (子类)父类实例
向下转型时,最好先判断是否可以满足条件,运行以下代码
if (子类.instanceOf(父类)){ //避免 ClassCastException异常出现 子类 子类实例化 = (子类) 父类实例化; }