我有一个功能:
fun1() {
System.out.print("hello");
}
我想从用户或文件中读取字符串,如果字符串"fun1()"
出现,我会调用 fun1.
我不想用 switch 语句来做这件事,因为我有很多功能。
有什么方法可以使用字符串调用函数?
我有一个功能:
fun1() {
System.out.print("hello");
}
我想从用户或文件中读取字符串,如果字符串"fun1()"
出现,我会调用 fun1.
我不想用 switch 语句来做这件事,因为我有很多功能。
有什么方法可以使用字符串调用函数?
你可以在这里使用反射:
Method method = MyClass.class.getDeclaredMethod("fun1", new Class[] {});
method.invoke(this, null);
但是,首先考虑一下,如果你可以避免使用反射,那么就这样做。反射带来了许多缺点,例如难以调试和使自动重构工具(例如 Eclipse 中的那些工具)实际上毫无用处。
重新思考你的设计;您可能可以通过更清晰的类分解、更好的多态性等更好地解决问题。
您可以使用Java 反射来实现这一点
你可以使用反射来做到这一点。但是您提供的方法不是java。缺少返回类型。你为什么要这样做?这是一个链接,以防您走这条路:使用反射调用静态方法