Sobes.tech
Junior

Was muss zwei Methoden unterscheiden, damit wir sie als überladen betrachten können?

sobes.tech KI

Antwort von AI

Damit zwei Methoden als überladen gelten, müssen sie die folgenden Bedingungen erfüllen:

  • Gleicher Methodenname. Der Name der Methoden muss identisch sein.
  • Unterschiedliche Methodensignatur. Die Signatur der Methode umfasst den Methodennamen und die Liste der Parametertypen (deren Anzahl, Reihenfolge und Typen). Der Rückgabetyp der Methode ist kein Teil der Signatur und beeinflusst die Überladung nicht.

Beispiele:

class Example {
    void print(int num) { // Signatur: print(int)
        System.out.println(num);
    }

    void print(String text) { // Signatur: print(String)
        System.out.println(text);
    }

    void print(int num, String text) { // Signatur: print(int, String)
        System.out.println(num + " " + text);
    }

    // Das ist keine Überladung, da die Signatur print(int) wiederholt wird
    // int print(int num) {
    //     return num;
    // }
}

Tabelle, die Beispiele für Überladung veranschaulicht:

Methodenname Parametertypen Gleiche / unterschiedliche Methoden Ist es eine Überladung? Grund
calc (int, int) Unterschiedliche Ja Unterschiedliche Signatur (Anzahl und Typen der Parameter)
calc (double, double) Unterschiedliche Ja Unterschiedliche Signatur (Parametertypen)
calc (int, int, int) Unterschiedliche Ja Unterschiedliche Signatur (Anzahl der Parameter)
calc () Unterschiedliche Ja Unterschiedliche Signatur (Anzahl der Parameter)
calc (int, int) Gleiche Nein Gleiche Signatur
calculate (int, int) Unterschiedliche Nein Unterschiedlicher Methodenname