Avatar ·

如何通过字符串方法名调用Java方法(反射)?

大家好!我是Java新手,遇到了这样一个问题:我有一个包含方法名的字符串,需要调用该对象的这个方法。例如,我有一个Calculator类,包含add、subtract、multiply方法。用户从控制台输入操作名称(字符串"add"、"subtract"等),我必须执行相应的方法。我不想写一长串switch-case或if-else来处理十几个方法——这既不美观也不灵活。\n\n该怎么做?我听说有某种“反射”(reflection),但不知道如何应用。我当前的代码如下:\n\n```java\npublic class Calculator {\n public int add(int a, int b) { return a + b; }\n public int subtract(int a, int b) { return a - b; }\n public int multiply(int a, int b) { return a * b; }\n}\n\npublic class Main {\n public static void main(String[] args) {\n Calculator calc = new Calculator();\n String methodName = "add"; // 假设从输入获取\n // 如何调用calc.add(