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 |