什么叫多态-在Java中是如何实现多态的-,java实现多态有几种方法_1

  什么叫多态?在Java中是如何实现多态的?,java实现多态有几种方法

  如何解决写爬虫IP受阻的问题?立即使用。

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

  由于具体的类是在程序运行时才确定的,所以引用变量可以在不修改源代码的情况下绑定到各种类实现上,这就导致了引用调用的具体方法的改变,即在程序运行时,可以在不修改程序代码的情况下改变程序绑定的具体代码,使程序可以选择多种运行状态。这就是多态性。

  特点:

  对子类的父类的引用由于其向上转换只能访问父类所拥有的方法和属性,而对存在于子类中但不存在于父类中的方法的引用则不能使用,即使方法是重载的。

  如果一个子类覆盖了父类中的一些方法,那么在调用这些方法时,必须使用子类中定义的这些方法(动态连接,动态调用)。

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

  调用的priority方法,就是:this.show(O),super.show(O),this.show((super)O),super.show((super)O)。

  多态的实现原理

  Java对象方法的调用依赖于类信息中的方法表。

  一般来说,当一个对象的方法被调用时,JVM会查找对象类的方法表来确定方法的直接引用地址,然后有了地址之后才真正调用方法。

  超类继承父类的方法。如果该方法没有被重写,它将在被调用时指向父类的方法。如果该方法正在重写,它将指向该类的代码区域。

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

  我们知道java程序在运行的时候,类的相关信息是放在方法区的。在这些信息中,有一个叫做方法表的区域,包含了这个类型定义的所有方法的信息,以及指向这些方法的实际代码的指针。这就是java如何实现多态性的细节。请多关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: