gpt4 book ai didi

java - 是否可以用 javassist 代理或替换静态方法

转载 作者:行者123 更新时间:2023-11-29 04:38:30 26 4
gpt4 key购买 nike

我已经尝试了各种方法,但一直无法让它发挥作用。我也一直无法找到明确的答案。

如果这是可能的,一个简单的例子将不胜感激

最佳答案

是的,您当然可以替换任何静态方法的主体。这是最常见的用例之一:

ClassPool cp = new ClassPool(true);
CtClass ctClass = cp.get("com.acme.Foo");
CtMethod ctMethod = ctClass.getDeclaredMethod("bar");
ctMethod.setBody("{ }");
ctClass.toClass();

您不能做的是使用类似于 Java 代理调用处理程序的代理实用程序来执行此操作。后一个实用程序依赖于不允许处理静态方法的虚拟覆盖。

关于java - 是否可以用 javassist 代理或替换静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40248847/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com