[英]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.