Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可以通过javassist将参数添加到现有类的现有方法中吗_Java_Javassist - Fatal编程技术网

可以通过javassist将参数添加到现有类的现有方法中吗

可以通过javassist将参数添加到现有类的现有方法中吗,java,javassist,Java,Javassist,我只需要一个简单的例子来演示如何使用javassist将参数添加到现有类的现有方法中。就我所搜索到的而言,在我看来这是不可能的,我们必须创建该方法的副本,这基本上可以归结为通过javassist创建一个新方法。所以我想知道这是否可能 例如,我有一个问候语类: public Class Greetings{ public void sayHello(String visitor) { System.out.println("hello"+ visitor) } } 现在,我想在运行时使用java

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

例如,我有一个
问候语
类:

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

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

愚蠢的我应该让jsut先检查javassist文档。它们清楚地提到“javassist不允许向现有方法添加额外参数”。这里是任何其他绊倒在这条线上的人的链接

即使这是可能的,如果您不更改实现,那又有什么好处呢?@Stultuske我会根据第二个参数进行更改,但我只是想确定一下,并了解是否可以完成。据我所知,您不能。@Stultuske谢谢您