package com.lzy.assist;
import java.io.IOException;
import javassist.CannotCompileException;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtConstructor;
import javassist.CtField;
import javassist.CtMethod;
import javassist.NotFoundException;
public class Demo01 {
public static void main(String[] args) throws CannotCompileException, NotFoundException, IOException {
ClassPool pool=ClassPool.getDefault();//获得类池
CtClass cc=pool.makeClass("com.lzy.assist.Emp");
//创建属性
CtField f1=CtField.make("private int empno;", cc);
CtField f2=CtField.make("private int ename;", cc);
cc.addField(f1);
cc.addField(f2);
//创建方法
CtMethod m1=CtMethod.make("public int getEmpno(){return empno;}",cc);
CtMethod m2=CtMethod.make("public void setEmpno(int empno){this.empno=empno;}",cc);
cc.addMethod(m1);
cc.addMethod(m2);
//添加构造器
CtConstructor constructor=new CtConstructor(new CtClass[] {CtClass.intType,pool.get("java.lang.String")}, cc);
constructor.setBody("{this.empno=empno; this.ename=ename;}");
cc.addConstructor(constructor);
cc.writeFile("c:/myjava");
System.out.println("生成类,成功");
}
}
Javassist链接: 点击此处.
选择下载后,解压文件
如何导入?
按顺序点击
保存即可
XJad下载: 点击此处.