笔记——Java面向对象之多态

时间:2022-01-16 19:38:54

1.多态的概念

多态的概念很复杂,一句话概括,程序运行时产生的多种形态。

2.多态的前提

类之间要有继承关系

子类要重写父类的方法

父类的引用指向子类

3.多态成员变量及方法访问特点

成员变量:编译时看父类,运行时看父类

静态变量:编译时看父类,运行时看父类

成员方法:编译时看父类,运行时看子类

静态方法:编译时看父类,运行时看父类

4.多态的弊端

在产生多态后,不能使用子类特有的变量以及方法。

5.向上转型

在创建对象时,将此对象转化为父类及父类以上类对象。

例如在产生多态时,父类的引用指向子类,也就是new出来的子类对象赋值给声明的父类对象,这里new出来的子类对象就完成了一次向上转型至父类对象的过程。

向上转型不需要类型转换。

6.向下转型

父类的对象经过强制类型转换后转换为子类对象。

通过向下转型,可以避免多态的弊端,通过向下转型后,可以使用子类特有的方法以及变量。

向下转型需要通过强制类型转换。

7.方法的多态性

方法的多态性体现在方法的重载(Overload),方法重载,一句话概括,相同的方法名,不同的参数列表。通过方法的重载,可以使同一个方法有多种实现方式,更加灵活。