什么是多态?为什么使用多态?什么时候使用多态?

什么是多态?为什么使用多态?什么时候使用多态?在学习多态的过程中 发现书籍和网上大部分文章都是在讲多态的概念 但什么时候用呢 又为什么用呢 就不得而知了 我找了很多资料 结合自己的理解 特总结出这篇文章 和大家分享 1 什么是多态编程中多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定 而是在程序运行期间才确定 即一个引用变量倒底会指向哪个类的实例对象 该引用变量发出的方法调用到底是哪个类中实现的

在学习多态的过程中,发现书籍和网上大部分文章都是在讲多态的概念,但什么时候用呢,又为什么用呢,就不得而知了。我找了很多资料,结合自己的理解,特总结出这篇文章,和大家分享。

1.什么是多态

编程中多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。

比如你是一个酒神,对酒情有独钟。某日回家发现桌上有几个杯子里面都装了白酒,从外面看我们是不可能知道这是些什么酒,只有喝了之后才能够猜出来是何种酒。你一喝,这是剑南春、再喝这是五粮液、再喝这是酒鬼酒….在这里我们可以描述成如下:

这里所表现的的就是多态。剑南春、五粮液、酒鬼酒都是酒的子类,我们只是通过酒这一个父类就能够引用不同的子类,这就是多态——我们只有在运行的时候才会知道引用变量所指向的具体实例对象。

诚然,要理解多态我们就必须要明白什么是“向上转型”。这里再讲解一下:在上面的喝酒例子中,酒(Win)是父类,剑南春(JNC)、五粮液(WLY)、酒鬼酒(JGJÿ

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/225753.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午8:37
下一篇 2026年3月17日 上午8:37


相关推荐

  • paho架构_MQTT系列最终章-Paho源码分析(三)-心跳与重连机制

    paho架构_MQTT系列最终章-Paho源码分析(三)-心跳与重连机制写在前面通过之前 MQTT 系列 Eclipse Paho 源码分析 二 消息的发送与接收的介绍 相信仔细阅读过的小伙伴已经对 Eclipse Paho 内部发送和订阅消息的流程有了一个较为清晰的认识 今天我们就把剩下的边角料扫一扫 也就是 Eclipse Paho 作为客户端是如何进行容灾补偿和心跳的相关介绍 心跳机制首先了解一下在 MQTT 协议中心跳请求和响应是如何规定的 下面是官方文档中的描述 简单来说

    2026年3月18日
    2
  • 超详细的CentOS7.4下载与图文安装

    超详细的CentOS7.4下载与图文安装一、CentOS7.4下载官网下载地址:http://vault.centos.org/1、进入CentOS下载官网,找到CentOS7.4版本2、在CentOS7.4版本页面中,找到isos/3、进入页面后,可以看到x86_644、在CentOS下载页面中,选择CentOS-7-x86_64-DVD-170…

    2022年4月26日
    73
  • java字符串转换为json对象6_Json对象与Json字符串的转化、JSON字符串与Java对象的转换…

    java字符串转换为json对象6_Json对象与Json字符串的转化、JSON字符串与Java对象的转换…一.Json对象与Json字符串的转化1.jQuery插件支持的转换方式:$.parseJSON(jsonstr);//jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象2.浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器:JSON.stringify(obj)将JSON转为字符串。JSON.par…

    2022年10月6日
    5
  • python zipfile_Python zipfile

    python zipfile_Python zipfile从简单的角度来看的话,zip格式会是个不错的选择,而且python对zip格式的支持够简单,够好用。1)简单应用如果你仅仅是希望用python来做压缩和解压缩,那么就不用去翻文档了,这里提供一个简单的用法,让你一看就能明白。importzipfilef=zipfile.ZipFile(‘filename.zip’,’w’,zipfile.ZIP_DEFLATED)f.write(‘fil…

    2025年12月15日
    6
  • javascript 数组以及对象的深拷贝(复制数组或复制对象)的方法

    javascript 数组以及对象的深拷贝(复制数组或复制对象)的方法javascript数组以及对象的深拷贝(复制数组或复制对象)的方法前言在js中,数组和对象的复制如果使用=号来进行复制,那只是浅拷贝。如下图演示:如上,arr的修改,会影响arr2的值,这显然在绝大多数情况下,并不是我们所需要的结果。因此,数组以及对象的深拷贝就是javascript的一个基本功了。数组的深拷贝条条大道通罗马,实现数组的深拷贝,是有好几种方法的。举例如下:for循环

    2022年7月12日
    23
  • 投资投机经典著作55本

    投资投机经典著作55本金融机构类 华尔街巨人 美 华尔街日报编辑部 海南出版社 沃尔特 瑞斯顿与花旗银行 美 费利普 L 茨威格 海南出版社 摩根财团 美 罗恩 彻诺中国财政经济出版社 高盛文化 美 里莎 埃迪里奇华夏出版社 投资商资本主义 美 迈克尔 尤辛海南出版社 挑战风险 美 多米尼克 卡瑟利商务印书馆 机构投资与基金管理的创新 美

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号