JAVA子类作为实参父类作为形参,JAVA——多态的应用

多态的两种实现方式

1   使用父类作为方法形参

2   使用父类作为方法返回值

(注: 当作为参数的父类是普通类或者抽象类时,构成继承多态;当作为参数的父类是一个接口时,构成接口多态)

1、使用父类方法作为形参( 形式参数的类型:  ①基本类型     ②引用类型  )

普通类形参:   当一个形参希望我们传入的是一个普通类时,我们实际上传入的是该类的对象/匿名对象

抽象类形参:   当一个形参希望我们传入的是一个抽象类时,我们实际上传入的是该类的子类对象或子类匿名对象

接 口 形 参 :   当一个形参希望我们传入的是一个接口时,我们实际上传入的是该类的实现类对象或实现类匿名对象

注          意  :     当一个方法的形参是引用类型的时候,需做非空判断,以免出现类型转换异常

2、 使用父类方法作为返回值( 返回值的类型:  ①基本类型     ②引用类型  )

普通类: 当一个方法的返回值是一个普通的类时,实际上返回的是该类的对象,我们可以使用该类的对象接收

抽象类: 当一个方法的返回值是一个抽象类时,实际上返回的是该抽象类的子类对象,我们可以使用该抽象类接收

接    口: 当一个方法的返回值是一个接口时,实际上返回的是该接口的实现类对象,我们可以使用接口接收

(注:当方法的返回值类型是引用类型的时候,可以使用链式调用)

3、 代码演示

public class Polymorphism {

public static void main(String[] args) {</