繁体   English   中英

Method.invoke它可以采用什么参数?

[英]Method.invoke what parameter it can take?

我在字符串中有方法名称,必须动态调用它。 方法名称.invoke(object,parameters)在以上格式中,对象应该是什么? 它应该始终由createNewInstance方法创建吗? 如何使用已构造的对象代替它?

对象应该是什么?

如果该方法是static ,则object参数应为null

如果该方法不是static ,则object参数应该是您要在其上调用该方法的对象,即该对象将是方法内部的this的值。

它应该始终由createNewInstance方法创建吗?

没有。

如何使用已构造的对象代替它?

将“已构造的对象”作为object参数值。


通常,您将调用以下方法:

myObj.foo("bar");

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM