在Jasmin中实例化类

时间:2012-05-29 20:07:18

标签: java jvm bytecode jasmin

我正试图在Jasmin中实例化一个类:

new Ljava/lang/Object;
dup
invokespecial java/lang/Object/<init>()V

这会编译,但类vierifier会抱怨:

“VerifyError:调用错误的初始化方法。”

实例化一个类的正确方法是什么?

2 个答案:

答案 0 :(得分:5)

啊,我发现了问题:

'new'的参数应该是该类型的纯限定名称,而不是它的装饰名称。 I. e。而不是

new Ljava/lang/Object;

你应该写:

new java/lang/Object

工作代码是:

new java/lang/Object
dup
invokespecial java/lang/Object/<init>()V

答案 1 :(得分:1)

尝试使用invokespecial java/lang/Object/()V