为什么`invokespecial`用于在java?</init>中调用`<init>`方法

时间:2012-12-05 10:30:00

标签: java compiler-construction constructor jvm

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

我在多个地方看过但却无法理解完美的理由?

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:4)

来自here

  

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

同样来自here

  

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

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

答案 1 :(得分:3)