Ingsuifon 2020-02-20 13:20 采纳率: 0%
浏览 277

关于javassist的一些API参数的疑问

ClassPool pool = ClassPool.getDefault();
        CtClass cc = pool.get("test.Emp");
        CtMethod m = new CtMethod(CtClass.intType, "add", new CtClass[]{CtClass.intType}, cc);
        m.setModifiers(Modifier.PUBLIC);
        m.setBody("{return n;}");
        cc.addMethod(m);

这个包下有很多这样的API,CtMethod里的前面的参数我都明白是对方法的描述,但最后一个参数我不清楚有什么用,它并没有把方法写进cc里,又对方法的定义没作用。

  • 写回答

1条回答 默认 最新

  • 老僧& 2023-10-08 19:07
    关注

    最后一个参数cc在CtMethod的构造函数中起到了关键作用,因为它指定了要将新创建的CtMethod对象添加到的CtClass,也就是将这个方法添加到哪个类中。说的简单点就是:最后一个参数cc指定了新创建的方法应该添加到哪个类中,而不是将方法写入字节码文件或实际编译类。

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料