什么是多态:
多态(polymorphism)是具有表现多种形态的能力的特征。更专业化的说法:同一个实现接口,使用不同的实例而执行不同的操作。通过多态可以减少类中的代码量。可以提高代码的可扩展和可维护性。继承是多态的基础,没有继承就没有多态。
向上转型 :父类 类名 = new 子类
把子类转为父类,自动进行类型转换
通过父类引用变量调用的方法是子类覆盖或继承父类的方法,父类引用变量无法调用子类特有的方法
向下转型 :子类 类名 = (子类)父类
把父类转为子类,必须进行强转
可以访问子类特有的方法。必须转为父类指向的真实子类。否则将出现类型转换异常ClassCastException
instanceof
类型转换用 instanceof【到实例】判断是否是正确的类型
判断父类具
体指向那个子类的实例
instanceof通常和强制类型转换结合使用。先进行判断在进行相应的强转。
使用将父类做为方法的形参和使用父类作为返回值是使用多态的常用方式。