多态的应用-继承多态与接口多态

多态的两种实现方式

使用父类作为方法形参实现多态
使用父类作为方法返回值实现多态

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

多态作为形参

形式参数
基本类型
引用类型
普通类
当一个形参希望我们传入的是一个普通类时,我们实际上传入的是该类的对象/匿名对象
抽象类
当一个形参希望我们传入的是一个抽象类时,我们实际上传入的是该类的子类对象/子类匿名对象
接口
当一个形参希望我们传入的是一个接口时,我们实际上传入的是该类的实现类对象/实现类匿名对象

多态作为返回值

返回值类型
基本类型
引用类型
普通类
当一个方法的返回值是一个普通的类时,实际上返回的是该类的对象,我们可以使用该类的对象接收
抽象类
当一个方法的返回值是一个抽象类时,实际上返回的是该抽象类的子类对象,我们可以使用该抽象类接收
接口
当一个方法的返回值是一个接口时,实际上返回的是该接口的实现类对象,我们可以使用接口接收

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

你可能感兴趣的:(JavaSE,面向对象)