【JavaSE基础】多态

Java面向对象特征:封装、继承、多态

多态

多态是同一个行为具有多个不同表现形式或形态的能力。

多态就是同一个接口,使用不同的实例而执行不同操作。多态性是对象多种表现形式的体现。

多态的优点:
  • 消除类型之间的耦合关系
  • 可替换性
  • 可扩充性
  • 接口性
  • 灵活性
  • 简化性
多态存在的三个必要条件
  • 继承
  • 重写
  • 父类引用指向子类对象
Parent p = new Child();

多态主要分为两种:编译期多态和运行期多态。

编译期多态:

又称:静多态,静态绑定;

主要过程:函数重载

  • 函数重载:函数返回值,函数名相同,参数列表不同(同一个类)

  • 构造方法重载:

    • 3.1 构造方法之间不能用this相互调用;
    • 3.2 this(); (调用自己的构造函数) 只能放在当前构造方法有效代码的第一行;

函数重载条件:

1、 在一个作用域类,

2、 函数名相同,参数列表不同

运行期多态:

又称:动多态,动态绑定;

主要过程:函数重写

函数重写条件:

  • 1、 继承关系;
  • 2、 子类重新实现父类的方法;
    • 2.1 函数名相同,参数列表也相同;
    • 2.2 子类方法修饰符权限必须大于父类方法;

函数重写的实现原理:

  • 子类方法的实现将从父类继承下来的方法实现进行了地址覆盖

函数重写应满足的条件:

  • 1、 派生类中该方法的返回值和基类同名方法的返回值相同,参数列表相同。

  • 2、 派生类中的重写方法的访问权限不能比基类小。权限的顺序为:pub

你可能感兴趣的:(JavaSE基础)