学编程 ❀(๑╯◡╰๑)❀ 就上soxunxi.cn!这里有CMS,CSS,NET,PHP,Linux,HTML,JAVA,MySQL,Python等教程.
当前位置: JAVA > java怎样完成多态【JAVA教程】,java,多态

Java多态概述:(引荐:java视频教程)

多态是面向对象编程言语的重要特征,它许可基类的指针或援用指向派生类的对象,而在细致接见时完成要领的动态绑定。Java 关于要领挪用动态绑定的完成重要依赖于要领表,但经由历程类援用挪用(invokevitual)和接口援用挪用(invokeinterface)的完成则有所差别。

java中完成多态须要三个前提:

1、须要有继续关联的存在。

2、须要有要领的重写。

3、须要有父类的援用指向子类对象。

类援用挪用的大抵历程为:Java编译器将Java源代码编译成class文件,在编译历程当中,会依据静态范例将挪用的标记援用写到class文件中。

在执行时,JVM依据class文件找到挪用要领的标记援用,然后在静态范例的要领表中找到偏移量,然后依据this指针肯定对象的现实范例,运用现实范例的要领表,偏移量跟静态范例中要领表的偏移量一样,如果在现实范例的要领表中找到该要领,则直接挪用,不然,以为没有重写父类该要领。根据继续关联从下往上搜刮。

从上图能够看出,当顺序运行时,须要某个类时,类载入子系统会将响应的class文件载入到JVM中,并在内部竖立该类的范例信息(这个范例信息实在就是class文件在JVM中存储的一种数据结构),包含java类定义的一切信息,包含要领代码,类变量、成员变量、以及本博文要重点议论的要领表。这个范例信息就存储在要领区。

注重,这个要领区中的范例信息跟在堆中寄存的class对象是差别的。在要领区中,这个class的范例信息只要唯一的实例(所以是各个线程同享的内存地区),而在堆中能够有多个该class对象。能够经由历程堆中的class对象接见到要领区中范例信息。就像在java反射机制那样,经由历程class对象能够接见到该类的一切信息一样。

更多java学问请关注java基础教程栏目。

以上就是java怎样完成多态的细致内容,更多请关注ki4网别的相干文章!

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

分享到:
赞(0) 打赏

支付宝扫一扫打赏

微信扫一扫打赏

标签:

上一篇:

下一篇:

相关推荐

0 条评论关于"java怎样完成多态【JAVA教程】,java,多态"

最新评论

    暂无留言哦~~

博客简介

看古风美女插画Cos小姐姐,素材合集图集打包下载:炫龙网,好看二次元插画应有尽有,唯美小姐姐等你来。

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

服务热线:
 

 QQ在线交流

 旺旺在线