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


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

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部