码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础——类的多态

时间:2020-07-29 15:08:33      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:动态绑定   多态   pre   派生类   相关   src   如何   类重写   向上转型   

多态

学习完封装和继承后,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基础——类的多态

标签:动态绑定   多态   pre   派生类   相关   src   如何   类重写   向上转型   

原文地址:https://www.cnblogs.com/occlive/p/13378042.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!