java class is frozen_class is frozen
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
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
