1.多态的概念
多态的概念很复杂,一句话概括,程序运行时产生的多种形态。
2.多态的前提
类之间要有继承关系
子类要重写父类的方法
父类的引用指向子类
3.多态成员变量及方法访问特点
成员变量:编译时看父类,运行时看父类
静态变量:编译时看父类,运行时看父类
成员方法:编译时看父类,运行时看子类
静态方法:编译时看父类,运行时看父类
4.多态的弊端
在产生多态后,不能使用子类特有的变量以及方法。
5.向上转型
在创建对象时,将此对象转化为父类及父类以上类对象。
例如在产生多态时,父类的引用指向子类,也就是new出来的子类对象赋值给声明的父类对象,这里new出来的子类对象就完成了一次向上转型至父类对象的过程。
向上转型不需要类型转换。
6.向下转型
父类的对象经过强制类型转换后转换为子类对象。
通过向下转型,可以避免多态的弊端,通过向下转型后,可以使用子类特有的方法以及变量。
向下转型需要通过强制类型转换。
7.方法的多态性
方法的多态性体现在方法的重载(Overload),方法重载,一句话概括,相同的方法名,不同的参数列表。通过方法的重载,可以使同一个方法有多种实现方式,更加灵活。