论坛首页 Java企业应用论坛

Java JVM里面如何实现多态的?

浏览 3301 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-11-19  
例如在C++里面有virtual table这个东西来实现;不知道Java 的JVM里面是怎样的一个实现机制?
请问有没有这方面的书籍或者解释?
谢谢。

我的猜测可能是,根据当前的object instance所属的class,把这些class全部找出来,然后从里面找到一个定义了该方法的最特别的类(也就是类结构层次上面最底层的那个类),因为Java里面默认是会覆盖掉父类的方法的。
   发表时间:2006-11-19  

JVM 的 invokevirtual 指令是用来实现多态的。

http://mrl.nyu.edu/~meyer/jvmref/ref--35.html

工作工程描述,就是你描述的那样。
基本数据结构应该和 c++ virtual table 一样。

0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics