java多态机制原理特点详解

 更新时间:2020年02月03日 14:50:17   作者:angryTom  
在本篇文章里小编给大家分享的是关于java多态机制原理特点详解,有需要的朋友们可以跟着学习下。

java多态机制是什么

java中实现多态的机制是依靠父类或接口的引用指向子类。从而实现了一个对象多种形态的特性。其中父类的引用是在程序运行时动态的指向具体的实例,调用该引用的方法时,不是根据引用变量的类型中定义的方法来运行,而是根据具体的实例的方法。

概念

多态就是指一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。

因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。

特点:

指向子类的父类引用由于向上转型了,它只能访问父类中拥有的方法和属性,而对于子类中存在而父类中不存在的方法,该引用是不能使用的,尽管是重载该方法。

若子类重写了父类中的某些方法,在调用该些方法的时候,必定是使用子类中定义的这些方法(动态连接、动态调用)。

知识点扩展

多态的实现原理

Java 里对象方法的调用是依靠类信息里的方法表实现的。

总体而言,当调用对象某个方法时,JVM查找该对象类的方法表以确定该方法的直接引用地址,有了地址后才真正调用该方法。

超类继承父类的方法,如果不Overriding该方法,那么调用时会指向父类的方法。如果Overrding该方法,那么指向该类的代码区。

但是超类会存有父类的方法表。

以上就是本次介绍的全部相关知识点,感谢大家的学习和对脚本之家的支持。

相关文章

  • Java数据结构之顺序表和链表精解

    Java数据结构之顺序表和链表精解

    我在学习完顺序表后一直对顺序表和链表的概念存在一些疑问,这里给出一些分析和看法,通读本篇对大家的学习或工作具有一定的价值,需要的朋友可以参考下
    2021-09-09
  • 从零开始使用IDEA创建SpringBoot项目(图文)

    从零开始使用IDEA创建SpringBoot项目(图文)

    这篇文章主要介绍了从零开始使用IDEA创建SpringBoot项目(图文),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • java时间段查询将00:00:00更换成23:59:59

    java时间段查询将00:00:00更换成23:59:59

    本文主要介绍了java时间段查询将00:00:00更换成23:59:59,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Spring Boot中使用RabbitMQ的示例代码

    Spring Boot中使用RabbitMQ的示例代码

    本篇文章主要介绍了Spring Boot中使用RabbitMQ的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • SpringBoot启动执行sql脚本的3种方法实例

    SpringBoot启动执行sql脚本的3种方法实例

    在应用程序启动后,可以自动执行建库、建表等SQL脚本,下面这篇文章主要给大家介绍了关于SpringBoot启动执行sql脚本的3种方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-01-01
  • SpringBoot单元测试解读

    SpringBoot单元测试解读

    SpringBoot提供了基于JUnit5的测试工具,方便进行测试,默认导入相关依赖,创建测试类,使用断言(Assertions类)进行断言操作,支持参数化测试
    2025-02-02
  • SpringMVC方法返回值多种情况代码实例

    SpringMVC方法返回值多种情况代码实例

    这篇文章主要介绍了SpringMVC方法返回值多种情况代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • SpringBoot如何配置CROS Filter

    SpringBoot如何配置CROS Filter

    这篇文章主要介绍了SpringBoot如何配置CROS Filter问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 利用SpringBoot实现高效的文件分块上传方案

    利用SpringBoot实现高效的文件分块上传方案

    在互联网应用中,大文件上传是一个常见而棘手的挑战,传统的单文件上传方式在面对大文件时经常面临超时、内存溢出等问题,本文将深入探讨如何利用Spring Boot实现高效的分块上传方案,解决大文件传输痛点,需要的朋友可以参考下
    2025-06-06

最新评论