代码示例
public static void main(String[] args) throws Exception {
ClassPool pool = ClassPool.getDefault();
CtClass cc = pool.makeClass("com.liu.javassist.User");
//创建属性
CtField f1 = CtField.make("private int id;", cc);
CtField f2 = CtField.make("private String name;", cc);
cc.addField(f2);
cc.addField(f1);
//添加方法
CtMethod m1 = CtMethod.make("public int getId(){return id;}", cc);
CtMethod m2 = CtMethod.make("public void setId(int id){this.id=id;}", cc);
cc.addMethod(m1);
cc.addMethod(m2);
//添加构造器
CtConstructor constructor = new CtConstructor(new CtClass[]{CtClass.intType,pool.get("java.lang.String")}, cc);
constructor.setBody("{this.id=id;this.name=name;}");
cc.addConstructor(constructor);
cc.writeFile("d:/java");
System.out.println("success");
}
jar :javassist-3.27.0-GA.jar 可到 maven 下载
完事可用 XJAD反编译看看
来源:http://www.bjsxt.com/