Method.invoke 可以带什么参数?

Method.invoke what parameter it can take?

我在字符串中有必须动态调用的方法名称。 方法 name.invoke(对象,参数) 在上面的格式中,对象应该是什么? 它应该总是通过 createNewInstance 方法创建吗? 我怎样才能使用已经构建的对象来代替它?

what should the object be?

如果方法是staticobject参数应该是null

如果方法不是staticobject参数应该是你要调用方法的对象,即里面this的值的对象方法。

Should it be always creater by createNewInstance method?

没有

How can I use an already constructed object instead of it?

将 "already constructed object" 作为 object 参数值。


例子

通常,您会调用这样的方法:

myObj.foo("bar");

要使用反射进行相同的调用:

Method m = myObj.getClass().getMethod("foo", String.class);
m.invoke(myObj, "bar");