Wie rufe ich eine Java-Methode anhand ihres String-Namens auf (Reflexion)?
Hallo zusammen! Ich bin neu in Java und stehe vor folgender Aufgabe: Ich habe einen String, der den Namen einer Methode enthält, und muss diese Methode für ein Objekt aufrufen. Zum Beispiel habe ich eine Klasse Calculator mit den Methoden add, subtract, multiply. Der Benutzer gibt über die Konsole den Namen der Operation ein (String "add", "subtract" usw.), und ich soll die entsprechende Methode ausführen. Ich möchte keinen langen switch-case oder if-else für Dutzende Methoden schreiben – das ist unschön und unflexibel.
Wie mache ich das? Ich habe gehört, dass es so etwas wie "Reflexion" (reflection) gibt, verstehe aber nicht, wie ich sie anwenden soll. Mein aktueller Code sieht so aus:
```java
public class Calculator {
public int add(int a, int b) { return a + b; }
public int subtract(int a, int b) { return a - b; }
public int multiply(int a, int b) { return a * b; }
}
public class Main {
public static void main(String[] args) {
Calculator calc = new Calculator();
String methodName = "add"; // angenommen, aus der Eingabe erhalten
// Wie rufe ich calc.add(...) auf?
}
}
```