我有
public class SecondClass{
MainClass main;
public SecondClass(MainClass main){
this.main=main;
}
....
}
在MainClass(.class文件)中有aMethod
public class MainClass(){
public void aMethod(){
//I want to insert
//SecondClass sc = new SecondClass(this);
}
}
如何使用Apache BCEL执行此操作?非常感谢!
答案 0 :(得分:0)
'this'作为堆栈中的第一项传递。因此,将它存储到局部变量的方式是使用jvm指令ALOAD和ASTORE。
例如,以下代码生成相应的jvm指令。
public void test()
{
Test var1 = this;
Test var2 = this;
}
ALOAD 0
ASTORE 1
ALOAD 0
ASTORE 2
RETURN