Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.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
是否可以在运行时修改java类中方法的方法名_Java - Fatal编程技术网

是否可以在运行时修改java类中方法的方法名

是否可以在运行时修改java类中方法的方法名,java,Java,我需要通过在方法名称前添加前缀“remotable”来修改类中的所有方法(比如在program1中)。但这需要由另一个java程序(比如program2)在运行时完成。这可能吗? 例如:程序1中的方法 public void print() { //implementation } 应修改为 public void remotableprint(){ //same implementation no change } 通过程序2 如果无法修改方法名,是否有其他方法可用于

我需要通过在方法名称前添加前缀“remotable”来修改类中的所有方法(比如在program1中)。但这需要由另一个java程序(比如program2)在运行时完成。这可能吗? 例如:程序1中的方法

public void print() {  
    //implementation
}
应修改为

public void remotableprint(){ 
    //same implementation no change
}
通过程序2

如果无法修改方法名,是否有其他方法可用于标记方法,以便在运行时将其与其他方法区分开来


如果可能的话,有人能告诉我怎么做吗?

当您在JVN运行时修改时,您可以使用“反射”,例如您的方法是私有的,但您可以使用“反射”,您可以通过setAccessible()更改此方法修饰符,但此更改不会更改java文件!当您修改此java文件时,此java文件不允许使用,您可以使用“文件”类更改您的本地文件

是否要在运行时重命名方法?编写自己的类加载器。这叫做重构,任何好的IDE(如Eclipse)都会提供该功能。不应该在运行时完成。IDE可以在开发过程中完成这项工作。看看所谓的“反射”吧。你在这里到底想实现什么?如果您想修改预编译的代码,那么这只是一个文本文件。您可以修改文本文件。