Menu
CoddyTech

Methodenüberladung

Teil des Abschnitts Grundlagen der Java-Journey von Coddy. Lektion 54 von 73.

In Java ermöglicht Methodenüberladung, mehrere Methoden mit demselben Namen, aber unterschiedlichen Parametern zu definieren. Das bedeutet, dass du mehrere Methoden haben kannst, die eine ähnliche Funktion ausführen, aber mit unterschiedlichen Datentypen oder einer unterschiedlichen Anzahl von Argumenten arbeiten.

Entscheidend 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 das Überladen von Methoden:

  1. Gleicher Name: Alle überladenen Methoden müssen denselben Namen haben.
  2. Unterschiedliche Parameter: Jede Version der Methode muss eine andere Anzahl von Parametern, andere Parametertypen oder beides haben.
  1. Der Rückgabetyp allein 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 der 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 namens add. Die erste addiert zwei Ganzzahlen, die zweite addiert zwei Gleitkommazahlen und die dritte addiert drei Ganzzahlen.

Java bestimmt anhand der Argumente, die beim Methodenaufruf übergeben werden, welche Methode aufgerufen wird.

Wenn keine überladene Methode genau zu den Argumenttypen passt, wählt Java die Methode, die durch eine implizite Erweiterungskonvertierung erreichbar ist. Bei display(int a) und display(double a) verwendet der Aufruf display(5.0f) beispielsweise die double-Version, weil ein float zu double erweitert werden kann, aber ohne Typumwandlung nicht zu einem int werden kann.

Methodenüberladung macht Code lesbarer und wiederverwendbar. Anstatt verschiedene Namen für Methoden zu erstellen, die ähnliche Aufgaben ausführen (z. B. addInts, addDoubles, addThreeInts), kannst du einen einzigen Namen, add, verwenden und den Compiler je nach Kontext die passende Methode auswählen lassen.

Denk daran: Überladen erfordert unterschiedliche Parametertypen oder eine unterschiedliche Anzahl von Parametern, nicht nur unterschiedliche Parameternamen oder Rückgabetypen.

Probier es selbst

Diese Lektion enthält keine Programmieraufgabe.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Online-Java-Compiler