在Java中,是否有可能访问方法所属的实例,只给出方法?如何访问在java中拥有一个方法的实例?
例如:
public class ClassA {
private ClassB instanceB = new ClassB();
// ...
private void sendMethod() {
instanceB.receiveMethod(foo);
}
public void foo() {}
}
public class ClassB {
public void receiveMethod (Method method) {
Object o = foo.getInstanceOwner(); // just made that part up...
}
}
我的感觉是方法属于类,一类没有实例,所以答案是否定的,但也许有一些偷偷摸摸的反射技术,我不知道。我总是可以通过'this'和foo方法一起传递,但这看起来像是额外的行李。
我不记得能够通过类似的方法在我的Java ...然后再次,我有一段时间没有使用它。 – tster 2011-04-01 23:50:16
你不能发送这样的方法; java没有函数指针,lambdas,委托或类似的东西。 – Kevin 2011-04-01 23:54:02
hm,看起来你是对的 - 我来自一个主要的ActionScript背景,你可以*传递类似的方法。 – ericsoco 2011-04-01 23:56:57