java class is frozen_class is frozen

javassit是一个处理java字节码的类库;CtClass是一个class文件的抽象表示。 1.动态生成.class文件 public static vo

javassit是一个处理java字节码的类库;CtClass是一个class文件的抽象表示。

1.动态生成.class文件

public static void main(String[] args) {

//默认的类搜索路径

ClassPool classPool = ClassPool.getDefault();

//创建一个ctClass对象

CtClass ctClass = classPool.makeClass("com.lwj.mom.base.javassist.Student");

try {

//添加age属性

ctClass.addField(CtField.make("private int age;",ctClass));

//添加setAge方法

ctClass.addMethod(CtMethod.make("public void setAge(int age){this.age = age;}",ctClass));

//添加getAge方法

ctClass.addMethod(CtMethod.make("public int getAge(){return this.age;}", ctClass));

//将ctClass转换成字节码并写入文件

byte[] byteArray = ctClass.toBytecode();

FileOutputStream output = new FileOutputStream("D:\\Student.class");

output.write(byteArray);

output.close();

System.o