调用方法接收器?

时间:2013-05-28 13:25:05

标签: java

我的MainClass中有一个返回整数值的方法。 我将此方法发送到另一个类,该类尝试调用此方法。像这样:

newVal = (Integer) calcM.invoke(receiver, start+i);

但我不知道该放什么receiverthis不起作用。

3 个答案:

答案 0 :(得分:4)

在你的情况下,receiver是Receiver对象,它将调用它的方法。

当你说myObject.myMethodmyMethod上的myObject时,请注意这一点。它与invoke相同,它需要知道调用方法的对象。因此,在此示例中,您将myObject传递给invoke。

答案 1 :(得分:3)

您的问题建议如何,您的receiver就像:

   Method receiver = MainClass.class.getMethod("methodOfMainClass", int.class);    

听起来像你的方法calcM.invoke的签名就像,

 public Integer invoke(Method method, int number)

所以可以打电话,

  newVal = (Integer)calcM.invoke(receiver, start+i);

答案 2 :(得分:2)

如果您的方法是静态的,则正确的接收方为null。否则,它是您要调用方法的对象。