import javassist.ClassPool; import javassist.CtClass; import javassist.CtMethod; import javassist.CtNewMethod; public class HelloWorld { public static void main(String[] args) throws Exception { ClassPool pool = ClassPool.getDefault(); CtClass cc = pool.get("com.example.MyClass"); CtMethod m = cc.getDeclaredMethod("hello"); m.insertBefore("{ System.out.println(\"Hello, \"); }"); CtMethod newMethod = CtNewMethod.make("public void newMethod() { System.out.println(\"New method!\"); }", cc); cc.addMethod(newMethod); cc.writeFile(); MyClass myClass = (MyClass) cc.toClass().newInstance(); } } class MyClass { public void hello() { System.out.print("World!"); } }


上一篇:
下一篇:
切换中文