我目前正在使用 ASM 拦截在目标应用程序中更改字段值的所有尝试,这按预期工作,因为 ASM 允许您在方法或构造函数代码段中添加或附加指令。
但是,在我看来,它是一种相当常见的开发人员范例,用于初始化方法或构造函数范围之外的字段,例如:
public class Example{
//--VARIABLE INITIALIZATION OUTSIDE METHOD OR CONSTRUCTOR SCOPE ---
private String aString = "A String Value";
//zero argument constructor
public Example(){
}
//all other methods.
}
我的问题是:如何处理以这种方式进行的拦截字段访问的任务,即在方法或构造函数的上下文之外?