Java基础——类的多态

Posted 策策的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础——类的多态相关的知识,希望对你有一定的参考价值。

多态

学习完封装和继承后,Java三大特性之一还有最后一个多态
那么多态是什么?

概念

多态字面含义就是多种表现形式
对应Java:同一操作作用于不同的类的对象,将产生不同的执行结果。

实现

向上转型

基类引用指向派生类对象

//Cat为基类
//Ragdoll为派生类
class Demo{
      public static void main(String args[]){
            //向上转型
            Cat cat = new Ragdoll();
      }
}

向上转型既可以使用派生类强大的功能,又可以抽取基类的共性。
不能调用派生类中定义,而基类中没有的方法、属性。

为什么能向上转型

自动实现,编译器自动将派生类实例转为通用性基类。

执行基类|派生类的方法

执行派生类的方法。

多态的实现,一个基类可以有多个派生类。
每个派生类重写基类的方法,(相同方法的实现不同)
基类引用调用派生类方法,体现了多态

绑定

动态绑定(后期绑定、运行时绑定):运行期间,根据对象的实际类型调用方法。

Java多态通过动态绑定实现。

多态前提:

  • 继承
  • 重写
  • 基类引用指向派生类对象

一个基类引用,指向不同的派生类对象,执行该方法时,表现出不同的行为。

执行方法

前提

  1. 基类引用调用派生类对象
方法 基类的方法 派生类的方法 不执行
基类中定义,派生类中重写的方法
基类中定义,派生类中没有重写的方法
基类中没有,派生类中定义的方法

应用意义

  1. 增强代码的可维护性
    • 封装通过合并特征和行为创建新的数据类型,将细节私有化,把接口和实现分离
    • 多态通过分离 做什么、怎么做,消除类型的耦合关系,将接口和实现分离
  2. 增强代码的可扩展性

博客相关java项目:查看Github项目
对应github项目:Demo5
导入项目的方法: Java基础——Java如何导入本地项目

以上是关于Java基础——类的多态的主要内容,如果未能解决你的问题,请参考以下文章

Java基础——类的多态

Java基础(多态的理解与应用)

Java——基础知识——多态对象类型转换

Java基础十一--多态

java基础---多态

Java基础09—接口继承与多态