import javassist.*; public class JavassistExample { public static void main(String[] args) throws NotFoundException, CannotCompileException, InstantiationException, IllegalAccessException { ClassPool pool = ClassPool.getDefault(); CtClass ctClass = pool.makeClass("com.example.MyClass"); CtField field = new CtField(pool.get("java.lang.String"), "message", ctClass); ctClass.addField(field); CtMethod method = CtNewMethod.make("public void printMessage() { System.out.println(message); }", ctClass); ctClass.addMethod(method); Class<?> clazz = ctClass.toClass(); Object obj = clazz.newInstance(); clazz.getMethod("printMessage").invoke(obj); } } <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>3.27.0-GA</version> </dependency>


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