Java 方法。调用它可以接受的参数?
我有字符串形式的方法名,必须动态调用。 方法名.invoke(对象、参数) 在上述格式中,对象应该是什么? 它是否应该始终由createNewInstance方法创建? 如何使用已构造的对象来代替它 对象应该是什么 如果方法是Java 方法。调用它可以接受的参数?,java,reflection,constructor,parameter-passing,illegalargumentexception,Java,Reflection,Constructor,Parameter Passing,Illegalargumentexception,我有字符串形式的方法名,必须动态调用。 方法名.invoke(对象、参数) 在上述格式中,对象应该是什么? 它是否应该始终由createNewInstance方法创建? 如何使用已构造的对象来代替它 对象应该是什么 如果方法是静态,则对象参数应为空 如果方法不是静态的,则对象参数应该是要调用方法的对象,即将成为方法内部的此值的对象 它是否应该始终由createNewInstance方法创建 没有 如何使用已构造的对象来代替它 将“已构造对象”作为对象参数值 范例 通常,您会调用如下方法: my
静态
,则对象
参数应为空
如果方法不是静态的
,则对象
参数应该是要调用方法的对象,即将成为方法内部的此
值的对象
它是否应该始终由createNewInstance方法创建
没有
如何使用已构造的对象来代替它
将“已构造对象”作为对象
参数值
范例 通常,您会调用如下方法:
myObj.foo("bar");
要使用反射进行相同的调用,请执行以下操作:
Method m = myObj.getClass().getMethod("foo", String.class);
m.invoke(myObj, "bar");
对象应该是什么
如果方法是静态
,则对象
参数应为空
如果方法不是静态的
,则对象
参数应该是要调用方法的对象,即将成为方法内部的此
值的对象
它是否应该始终由createNewInstance方法创建
没有
如何使用已构造的对象来代替它
将“已构造对象”作为对象
参数值
范例 通常,您会调用如下方法:
myObj.foo("bar");
要使用反射进行相同的调用,请执行以下操作:
Method m = myObj.getClass().getMethod("foo", String.class);
m.invoke(myObj, "bar");
Java不会根据对象的实例化方式来区分对象。您可以对任何适当类型的对象反射调用方法。Java不会根据对象的实例化方式来区分对象。您可以对任何适当类型的对象反射调用方法。