java语言实现多态的方式_什么是多态机制?Java语言是如何实现多态的?【详细解释】...-程序员宅基地

技术标签: java语言实现多态的方式  

今天爱分享给大家带来什么是多态机制?Java语言是如何实现多态的?【详细解释】,希望能够帮助到大家。

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

多态分为编译时多态和运行时多态。其中编辑时多态是静态的,主要是指方法的重载,它是根据参数列表的不同来区分不同的函数,通过编辑之后会变成两个不同的函数,在运行时谈不上多态。而运行时多态是动态的,它是通过动态绑定来实现的,也就是我们所说的多态性。

多态的实现

Java实现多态有三个必要条件:继承、重写、向上转型。

继承:在多态中必须存在有继承关系的子类和父类。

重写:子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法。

向上转型:在多态中需要将子类的引用赋给父类对象,只有这样该引用才能够具备技能调用父类的方法和子类的方法。

只有满足了上述三个条件,我们才能够在同一个继承结构中使用统一的逻辑实现代码处理不同的对象,从而达到执行不同的行为。

对于Java而言,它多态的实现机制遵循一个原则:当超类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39902107/article/details/114516264

智能推荐

为什么我们需要企业架构?_企业架构的价值-程序员宅基地

文章浏览阅读1.8k次。良好的IT信息化建设基于两个前提:IT架构与业务价值,缺一不可,二者结合在一起就叫企业架构。IT架构服务于业务价值,而业务价值则通过业务架构来表现出来。_企业架构的价值

C++ Primer Plus(第六版)第9章 内存空间和名称空间_autoscp.cpp-程序员宅基地

文章浏览阅读549次。按住ctrl键选中三个执行文件,用debug模式进行调试。coordin.h// coordin.h -- structure templates and function prototypes// structure templates#ifndef COORDIN_H_#define COORDIN_H_struct polar{ double distance; // distance from origin double angle; // ._autoscp.cpp

倾斜摄影数据OSGB转换成3DML(转载)-程序员宅基地

文章浏览阅读2k次。工具/原料skyline CityBuilder方法/步骤确定手中的osgb数据文件夹符合命名规则,如下图打开CityBuilder(软件许可目前只能申请试用),在工具栏Mesh Layer的下拉选项中选择Import OSGB Layer,弹出相应对话框,在对话框Input folder后的Browse选择上图中的上级文件夹,选择后对话框中的后两项会自动填充,将Metedat..._osgb转skyline

一文搞懂文件系统-程序员宅基地

文章浏览阅读2.2k次,点赞2次,收藏13次。文件系统是计算机操作系统中的一个核心组件,用于管理计算机中的文件和文件夹。它提供了一种组织和访问计算机存储设备上数据的方式。文件系统使用户能够创建、修改、删除和查找文件,以及组织文件和文件夹的层次结构。_文件系统

R绘制基于Cox回归模型的限制性立方样条图_限制性立方样条 cox 模型-程序员宅基地

文章浏览阅读1.4k次,点赞26次,收藏34次。R绘制基于Cox回归模型的限制性立方样条图。_限制性立方样条 cox 模型

java常见面试题(160道)_java面试题-程序员宅基地

文章浏览阅读5.4w次,点赞89次,收藏746次。java常见面试题_java面试题

随便推点

前端开发之Dom的简介和Dom操作_前端dom是什么意思啊-程序员宅基地

文章浏览阅读1.7k次。Dom的简介,Dom获取元素节点,Dom的获取父字关系节点,DOM节点创建,插入,删除,复制节点,设置节点的属性_前端dom是什么意思啊

android开发书籍下载,Android性能优化面试题集锦-程序员宅基地

文章浏览阅读511次,点赞14次,收藏9次。最后看一下学习需要的所有知识点的思维导图。在刚刚那份学习笔记里包含了下面知识点所有内容!文章里已经展示了部分!如果你正愁这块不知道如何学习或者想提升学习这块知识的学习效率,那么这份学习笔记绝对是你的秘密武器!

配置ACL包过滤防火墙典型实验_acl防火墙配置实验-程序员宅基地

文章浏览阅读2.8k次。配置ACL包过滤防火墙_acl防火墙配置实验

吴恩达《机器学习》12-4-12-5:核函数 1、核函数 2_核函数吴恩达-程序员宅基地

文章浏览阅读968次,点赞25次,收藏17次。当实例与地标距离近时,新特征的值趋近于 1,而当距离较远时,新特征的值趋近于 0。在实际应用中,通过选取不同的地标和核函数,能够构建出更加复杂且适应性强的判定边界,从而提高模型的性能。核函数的选择影响了特征的映射效果,而合适的核函数能够在新的特征空间中更好地划分不同类别。因此,需要一种更有效的方法来构造新的特征。核函数的作用在于将实例的原有特征映射到一个新的空间,从而使得在这个新空间中的判定边界更为有效。相应地,代价函数也需要进行调整,其中对于正则化项的计算引入了一个矩阵 M,该矩阵取决于选择的核函数。_核函数吴恩达

org.apache.commons.io.FileUtils 文件操作-程序员宅基地

文章浏览阅读1.1k次。转自:org.apache.commons.io——FileUtils学习笔记 FileUtils类的应用1、写入一个文件;2、从文件中读取;3、创建一个文件夹,包括文件夹;4、复制文件和文件夹;5、删除文件和文件夹;6、从URL地址中获取文件;7、通过文件过滤器和扩展名列出文件和文件夹;8、比较文件内容;9、文件最后的修改时间;10、计算校验和。..._apache common 文件夹创建

EV/HEV中的牵引逆变器驱动优化-程序员宅基地

文章浏览阅读1.6k次,点赞42次,收藏35次。什么是牵引逆变器?从本质上讲,牵引逆变器是电动汽车动力系统中的一个子系统,它从电池中获取高电压,并将其转换为交流电压——因此被称为逆变器——并基本上为电机供电。它控制电机速度和扭矩,直接影响效率和可靠性,这正成为牵引逆变器设计的设计挑战。此图片来源于网络如今的电动汽车至少有一个牵引逆变器。有些型号实际上不止一个。一个在前轴上,一个在后轴上。甚至一些高端车型实际上每个车轮都有一个牵引逆变器。因此,效率和可靠性非常重要。所以,从逆变器和电机控制的市场趋势来看——从技术趋势来看,我们看到了功率水平的提高。

推荐文章

热门文章

相关标签