2016 - 2024

感恩一路有你

invokevirtual什么意思 Java中super存储的是一个父类的内存地址吗?

浏览量:2882 时间:2021-03-11 03:06:26 作者:admin

Java中super存储的是一个父类的内存地址吗?

谢谢。

首先,它不是。只是搜索方法不同。不使用多态性。

现在是讨论内存地址的时候了,让我们详细解释一下具体的原理。Java中所有的非静态、非构造函数和非私有方法都是虚方法,虚方法的调用将根据具体的接收者来决定调用哪个方法。Java调用一个方法。如果在方法中使用super,本质上,它将忽略虚拟方法的多态搜索特性(使用invokevirtual进行动态绑定),而使用invokespecial。区别在于invokespecial的用法。粗略地说,它可以指定要调用哪个方法(ACC实际存在) Super flag将影响此指令的行为),但它仍然是通过使用调用方法时默认传入的此变量的引用来调用的。

invokevirtual什么意思 invoke-virtual invoke方法是做啥的

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。