将接口interface 修改为class
接口
接口字节码
修改为class类后的字节码
将接口修改成为了,class类
但是这里还有一个坑,是class 没有默认构造,需要添加一个无参构造,不然不能实例化对象
这是生成构造方法后的字节码,当然构造体可以不要
ClassPool classPool = ClassPool.getDefault();CtClass ctClass = null;try {//通过全类名,获取类ctClass = classPool.getCtClass("aa.bb.cc.CCCCC");//此操作会将类修改会接口ctClass.setModifiers(Modifier.PUBLIC);//3.添加无参的构造函数 无参构造new CtClass[]{}传空,否则传入参数CtConstructor constructor = new CtConstructor(new CtClass[]{}, ctClass);//构造体,可以为null 但不能省略constructor.setBody("String silence = \"hello silence 你的名字\";");ctClass.addConstructor(constructor);//加载 写出 classctClass.toClass();ctClass.writeFile("D:\\develop\\peojiect\\springboot_demo\\silence-spring-auto\\src\\main\\java");} catch (NotFoundException e) {e.printStackTrace();}