Methoden überschreiben
Lernen Sie, wie Unterklassen Methoden der Oberklasse neu definieren, um Verhalten zu ändern oder zu erweitern.
Methoden überschreiben ist eine kostenlose Java Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Java Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Java Academy-Kurs umfasst insgesamt 3 Lektionen.
Definition
Methodenüberschreibung bedeutet, eine Methode der Oberklasse in einer Unterklasse neu zu definieren. Die Methode besitzt denselben Namen, dieselben Parameter und denselben Rückgabetyp, aber einen neuen Rumpf. Dadurch kann jede Unterklasse ein spezifisches Verhalten bereitstellen.
Warum überschreiben?
Durch Überschreiben können Sie Verhalten anpassen. Dog und Cat sind beispielsweise beide Animals, erzeugen aber jeweils ein anderes Geräusch. Statt neue Methodennamen zu schreiben, überschreiben sie dieselbe Methode und ermöglichen so eine einheitliche Verwendung.
Regeln für das Überschreiben
Regeln: Die Methodensignatur muss exakt übereinstimmen, der Rückgabetyp muss kompatibel sein und der Zugriff darf nicht stärker eingeschränkt werden. Verwenden Sie die Annotation @Override, um Fehler bereits zur Kompilierzeit zu erkennen.
Verwenden von super.method()
Sie können die Methode der Oberklasse weiterhin mit super.method() aufrufen. Dadurch können Sie das Verhalten erweitern, statt es vollständig zu ersetzen, und alte und neue Logik in einem Aufruf verbinden.
Fehler
Fehler: Das Ändern von Parametertypen erzeugt eine Überladung, keine Überschreibung. Wenn Sie @Override vergessen, können Tippfehler unbemerkt bleiben. Vermeiden Sie außerdem, den Zugriff einzuschränken, etwa von public → private, da dies zu Compilerfehlern führt.
Code: Demo zum Überschreiben
Code: Dog und Cat überschreiben speak() aus Animal. Selbst wenn sie als Animal referenziert werden, wird die Version der Unterklasse ausgeführt – ein Beispiel für echte Polymorphie.
public class Main {
static class Animal {
void speak() {
System.out.println("Some generic animal sound");
}
}
static class Dog extends Animal {
@Override
void speak() {
System.out.println("Woof!");
}
}
static class Cat extends Animal {
@Override
void speak() {
System.out.println("Meow!");
}
}
public static void main(String[] args) {
Animal a1 = new Dog(); // upcast to Animal
Animal a2 = new Cat();
a1.speak(); // runs Dog version
a2.speak(); // runs Cat version
}
}
Überprüfen des Überschreibens
Kurze Überprüfung: Was ermöglicht das Überschreiben von Methoden einer Unterklasse?
Zusammenfassung
Zusammenfassung: Beim Überschreiben werden Methoden mit derselben Signatur neu definiert, sodass Unterklassen ihr Verhalten anpassen können. Verwenden Sie @Override und rufen Sie bei Bedarf super auf.
Häufig gestellte Fragen
Ist die Lektion „Methoden überschreiben“ kostenlos?
Ja — der vollständige Text von „Methoden überschreiben“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Java Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Java Academy-Kurs umfasst insgesamt 3 Lektionen.
Was lerne ich in „Methoden überschreiben“?
Lernen Sie, wie Unterklassen Methoden der Oberklasse neu definieren, um Verhalten zu ändern oder zu erweitern. Du übst Java Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Java Academy zu starten?
Keine Vorkenntnisse erforderlich. Java Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 3.
Wie lange dauert die Lektion „Methoden überschreiben“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Java Academy-Lektion Code schreiben und ausführen?
Ja. Jede Java Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- extends und super
- Methoden überschreiben
- Polymorphie und dynamische Bindung