【发布时间】:2013-09-10 20:57:39
【问题描述】:
A 类的每个实例都有B 类的实例。 A 应该根据其成员变量method_num 在B 中调用不同的方法。这是一个实现我想要的实现:
public class A {
private B myB = new B();
public int method_num = 1;
public callBMethod() {
if ( method_num == 1 )
myB.method1();
else
myB.method2();
}
}
public class B {
public method1() { }
public method2() { }
}
但我不想做myA.method_num = 1,而是希望能够以某种方式直接传递B的method1或method2。我该怎么做?
【问题讨论】:
-
阅读 Java 反射。
-
我想传递方法名不是问题,所以我改变了问题的标题。
-
反思,虽然不是特别直接。
-
@larsmans 除非有某种方法可以传递“方法对象”。
-
@Andreas:不幸的是,没有这样的事情。但在任何情况下,您都不会传递 name。
标签: java