java多态

2019-11-02  本文已影响0人  幻想的绝望

概述

面向对线的四个基本特征:抽象,封装,基础,多态。抽象,封装,继承是多态的基础,多态是抽象,封装,继承的表现

什么是多态

不同的对象对同一输入做出不同的响应

多态存在条件

  1. 有继承关系
  2. 子类重写父类方法
  3. 父类引用子类对象

修饰符对于多态的影响

private修饰的方法无法实现多态,因为方法无法被外部调用
protected和默认修饰符,如果子类父类在同一包下,可以实现多态,不同包则不行
static修饰的方法无法实现多态,因为父类静态方法无法被子类覆盖
final修饰的方法无法实现多态,因为父类fianl方法无法被子类覆盖

多态的好处

低耦合,可替代,可拓展

自己的一些思考

多态仅仅只针对继承吗?我觉得应该还要包括实现,无论是继承一个类,还是实现一个接口,都能体现出多态。拿springboot的mvc举例,往往我们需要先书写一个接口,在写一个实现类,最后autoware自动装载一个接口。当我们对实现类进行改造时,完全不用修改使用到接口的地方的代码。这就是一种多态,也体现了使用多态的好处

People people = new Student();
people.xxx;

多态使用格式一般如上,注意的地方是,要多态的方法,必须在父类里面声明,并且能被父类对象所引用,调用方法后,如果子类对象实现了此方法,则调用子类方法,如果子类对象没有实现此方法,则使用父类方法

想我所见,思我说闻
写我所想,写我所思
不求处处皆对 
只求问心无愧
上一篇 下一篇

猜你喜欢

热点阅读