3

java中为什么invokespecial要调用方法?<init>

我在多个地方阅读但无法理解完美的原因?

任何帮助,将不胜感激。

4

2 回答 2

4

这里

的主要用途是在新对象的构造阶段invokespecial调用对象的实例初始化方法。<init>

也从这里

换句话说,invokespecial用于调用方法而不考虑动态绑定,以便调用特定类的方法版本。

第二个引号最适用于您的问题,因为我们知道调用构造函数(<init>)方法始终具有静态绑定。

于 2012-12-05T10:32:19.390 回答
3

这些链接对于非常简单的语言很有用

http://arhipov.blogspot.in/2011/01/java-bytecode-fundamentals.html

http://commons.apache.org/bcel/manual.html

ibm的这篇文章也很好,有很好的例子

http://www.ibm.com/developerworks/ibm/library/it-haggar_bytecode/

于 2012-12-08T19:53:51.340 回答