【问题标题】:Can we add a import statement to a class using Javassist我们可以使用 Javassist 向类添加导入语句吗
【发布时间】:2015-12-09 09:09:40
【问题描述】:

我想使用通过 javassist 注入的行来调用不同包中不同类中的方法。有没有其他方法可以直接调用这些方法而不使它们 public static 并使用完全限定的类名调用?在here 中,它描述了一个importPackage() 方法。但它看起来只能与我们尝试获取所需类文件的类池对象一起使用。

【问题讨论】:

    标签: java instrumentation javassist


    【解决方案1】:

    导入只是编译时间。如果你想在另一个类中调用非静态方法,你需要一些方法来获取正确的对象实例来调用,例如:

    1. 实例化它们
    2. 某种对象查找器
    3. 实现一个可以静态访问的包含对象的共享集合。

    其中一个需要注入到您的类中,以便您可以获取实例,然后您可以连接到实际的调用中。

    如果您提供一些代码示例,可能会有所帮助,也许代码现在是怎样的,以及您希望它是怎样的。

    【讨论】:

      猜你喜欢
      • 2015-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-15
      • 1970-01-01
      • 2015-11-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多