首页 > 解决方案 > 可以通过javassist将参数添加到现有类的现有方法中吗

问题描述

我只需要一个简单的示例来演示使用 javassist 将参数添加到现有类的现有方法中。据我搜索,在我看来这是不可能的,我们必须创建该方法的副本,该副本基本上归结为通过 javassist 创建一个新方法。所以我想知道这是否可能?

例如,我有一个Greetings类:

public Class Greetings{
public void sayHello(String visitor)
{
System.out.println("hello"+ visitor)
}
}

sayHello现在我想在运行时使用 javassist向方法添加另一个参数。

标签: javajavassist

解决方案


愚蠢的我应该先检查 javassist 文档。他们清楚地提到“Javassist 不允许向现有方法添加额外的参数”。这是其他人偶然发现此线程的链接 http://www.javassist.org/tutorial/tutorial2.html


推荐阅读