我用方法'm'编写了一个java类a,我通过从磁盘读取a类并使用defineclass
到recreate
类来动态加载我的程序。然后我使用m.invoke(instance of A)
从我的程序的Main函数中调用a类中的m。该方法不接受任何参数。我可以"以某种方式"从m内部读取程序Main函数中定义的变量,一旦它被调用?
No。局部变量不能通过反射访问。您可以通过设置环境变量或将值写入文件并在m
中读取该文件来绕过此限制。在Java 8中,您可能还对Lambda表达式感兴趣,它能够访问局部变量(尽管不能替代反射)。