我需要能够调用一个函数,但是函数名存储在一个变量中,这可能吗?例如:
public void foo ()
{
//code here
}
public void bar ()
{
//code here
}
String functionName = "foo";
// 我需要根据什么是functionName来调用函数
Anyhelp会很棒,谢谢
我需要能够调用一个函数,但是函数名存储在一个变量中,这可能吗?例如:
public void foo ()
{
//code here
}
public void bar ()
{
//code here
}
String functionName = "foo";
// 我需要根据什么是functionName来调用函数
Anyhelp会很棒,谢谢
是的,你可以,使用反射。但是,还要考虑Effective Java 2nd Edition,Item 53: Prefer interfaces to reflection。如果可能,请改用接口。在一般应用程序代码中很少真正需要反射。
使用反射。
这是一个例子
使用反射API。像这样的东西:
Method method = getClass().getDeclaredMethod(functionName);
method.invoke(this);