1
想象一下,我有String X
。我怎么能在java中调用方法X()
?一个示例实现(这不是我的应用程序,因为这个问题更具理论性,并且没有特定的应用程序):基于字符串的调用方法
我有一个控制台线程序。扫描仪对象正在用于输入。我们的程序中有1000多种方法,我们需要控制台中的用户能够通过名称执行这些方法。例如(psuedocode),
public static void main(String[] args) {
// string X is prompted to be either doBlah, getBlah, etc...
String X = keyScanner.next();
execute(X + "()"); //psuedocode for what I would like to do
}
public void doBlah() {}
public void getBlah() {}
public void letNooo() {}
// etc... (just random method names, no particular pattern)
我怎么能用Java或任何语言来做到这一点?谢谢。
您正在寻找[反思API](http://docs.oracle.com/javase/tutorial/reflect/)。 –
在Java中搜索“反射”,也用于“invoke()” – morgano
您的方法是在您的类中声明的,还是其中一些是继承的?他们都是公开的吗?还有什么方法参数? – Pshemo