java - 如何从存储在变量中的字符串调用 Java 函数

标签 java reflection function-call

<分区>

Possible Duplicate:
Calling a method named “string” at runtime in Java and C

我需要能够调用一个函数,但是函数名存储在一个变量中,这可能吗?例如:

public void foo ()
{
     //code here
}

public void bar ()
{
     //code here
}

String functionName = "foo";

//我需要根据函数名来调用函数

任何帮助都会很棒,谢谢

最佳答案

是的,你可以,使用反射。但是,还要考虑 Effective Java 2nd Edition,第 53 条:Prefer interfaces to reflection。如果可能的话,请改用接口(interface)。一般应用程序代码很少真正需要反射。

另见

相关问题

关于java - 如何从存储在变量中的字符串调用 Java 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3038464/

相关文章:

java - 未显示 Spring 验证错误

java - Tomcat 7 是否支持 Java 8?

.net - 无法从 .winmd 文件获取类型

javascript - 如何在 javascript 中调用调用次数超过 50k 次的递归函数?

c - 这个错误是什么意思?类型 "void"的参数与类型 "void (*)(int a)"的参数不兼容

java - Mybatis 无 Getter 属性

c# - 表达式树使用类的属性值创建字典

c# - 部分信任 : How to instantiate a generic type without a generic type argument

c - 函数只返回 1?

java - Netbeans 生成的 WAR 在 Glassfish Server 3.1 中不起作用