我使用Javassist工具库去修改JAVA类,就是想把自己的代码嵌入到某指定方法的前部和后部。但我发现insertBefore和insertAfter不好用,反编译出来一看,总是有多余的虚拟机指令,与预期的效果不符。后来看到一篇文章讲到的办法,是把要修改的方法改名,再新建一个同名方法,把对原方法的调用语句夹在你要嵌入的代码之中。这种办法我试过,是管用的。
    但这仅对一般方法管用,而对于类的构造方法,由于构造方法是不能改名的,就没办法这样做了。那么我该怎么办呢?