3.1 为什么使用多态
省略更多的代码,实现不同的效果。
3.2什么是多态
多态(polymorphism)是具有表示多种形态的能力的特征。更专业化的说法:痛一个实现接口,使用不同的示例而执行不同的操作。
3.2.1 子类到父类的转换(向上转型)
将一个父类的运用变量调用对象,称为向上转型(upcasting),自动进行类型转换。
3.2.2 使用父类作为方法形参实现多态
使用父类作为方法的形参,是Java中实现和使用多态的主要方式之一。
3.2.3 使用父类作为方法发回执实现多态
使用父类作为方法返回值,是Java中实现和使用多态的另一种方法。
3.2.5 父类到子类的转换(向下转型)
前面提到,当向上转型发生后,将无法调用子类特有的方法。大师需要调用子类特有的方法是,可以通过父类在转换为子类来实现。
将一个指向子类对象的父类引用赋给一个子类的引用,称为向下转型,此时必须进行强制类型转换。
3.2.6 instanceof 运算符
语法 对象 instanceof 类或接口 |
该运算符用来判断一个对象是否属于一个类或者实现一个接口,结果为true或false。在强制类型转换之前通过instanceof运算符检查对象的真实类型,在进行相应的强制类型转型,这样就可以避免类型转换异常,从而提高代码的健壮性。
总结
1、 多态的优点?
通过多态可以减少的代码量,可以提高代码的课扩展性和可维护性。继承是多态的基础,没有继承就没有多态。
2、 什么是向上/向下转型?