Method Overloading
Teil des Abschnitts Grundlagen der Java-Journey von Coddy — Lektion 54 von 73.
In Java ermöglicht Methodenüberladung Ihnen, mehrere Methoden mit demselben Namen, aber unterschiedlichen Parametern zu definieren. Das bedeutet, dass Sie mehrere Methoden haben können, die eine ähnliche Funktion ausführen, aber auf unterschiedliche Datentypen oder eine unterschiedliche Anzahl von Argumenten angewendet werden.
Der Schlüssel ist, dass jede überladene Methode eine eindeutige Methodensignatur haben muss. Die Methodensignatur wird durch den Namen der Methode sowie den Typ und die Reihenfolge ihrer Parameter bestimmt.
Hier sind die wichtigsten Regeln für Methodenüberladung:
- Gleicher Name: Alle überladenen Methoden müssen denselben Namen haben.
- Unterschiedliche Parameter: Jede Version der Methode muss eine unterschiedliche Anzahl von Parametern, unterschiedliche Parametertypen oder beides haben.
- Rückgabetyp reicht nicht aus: Überladene Methoden können sich nicht nur durch ihren Rückgabetyp unterscheiden. Sie müssen unterschiedliche Parameterlisten haben.
Hier ist ein Beispiel zur Veranschaulichung von Methodenüberladung:
public class MathUtils {
public static int add(int a, int b) {
return a + b;
}
public static double add(double a, double b) {
return a + b;
}
public static int add(int a, int b, int c) {
return a + b + c;
}
}In diesem Beispiel haben wir drei Methoden mit dem Namen add. Die erste addiert zwei Ganzzahlen, die zweite addiert zwei Gleitkommazahlen und die dritte addiert drei Ganzzahlen.
Java bestimmt basierend auf den beim Methodenaufruf übergebenen Argumenten, welche Methode aufgerufen wird.
Methodenüberladung macht den Code lesbarer und wiederverwendbar. Anstatt unterschiedliche Namen für Methoden zu erstellen, die ähnliche Aufgaben ausführen (z. B. addInts, addDoubles, addThreeInts), können Sie einen einzigen Namen, add, verwenden und den Compiler die geeignete Methode basierend auf dem Kontext auswählen lassen.
Merken: Überladung erfordert unterschiedliche Parameter-Typen oder -Anzahlen, nicht nur unterschiedliche Parameter-Namen oder Rückgabetypen.
Spickzettel
Methodenüberladung ermöglicht mehrere Methoden mit demselben Namen, aber unterschiedlichen Parametern:
Regeln für Methodenüberladung:
- Gleicher Methodenname
- Unterschiedliche Parameter (Anzahl, Typ oder Reihenfolge)
- Rückgabetyp allein ist nicht ausreichend für Überladung
public class MathUtils {
public static int add(int a, int b) {
return a + b;
}
public static double add(double a, double b) {
return a + b;
}
public static int add(int a, int b, int c) {
return a + b + c;
}
}Java bestimmt, welche Methode aufgerufen wird, basierend auf den beim Methodenaufruf übergebenen Argumenten.
Probier es selbst
Diese Lektion enthält keine Programmieraufgabe.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison10Methods (Functions)
Declaring MethodsMethod ParametersReturn TypesMethod OverloadingRecap - Sigma FunctionRecap - Validation FunctionVoid Methods5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else