Junior — Middle
Welche Änderungen müssen an der Klassendefinition vorgenommen werden, um ihre Fähigkeit zur Verwendung von Polymorphismus zu gewährleisten?
sobes.tech KI
Antwort von AI
Um Polymorphismus in Java zu ermöglichen, muss Folgendes beachtet werden:
- Methoden, die in Unterklassen überschrieben werden sollen, dürfen nicht statisch oder final sein.
- Das Schlüsselwort
overridesollte in Unterklassen verwendet werden, um Methoden der Basisklasse zu überschreiben. - In der Basisklasse sollten die Methoden als
publicoderprotecteddeklariert sein (damit Unterklassen sie überschreiben können).
Beispiel:
class Animal {
public void sound() {
System.out.println("Ein Geräusch");
}
}
class Dog extends Animal {
@Override
public void sound() {
System.out.println("Bellen");
}
}
// Verwendung von Polymorphismus
Animal animal = new Dog();
animal.sound(); // Gibt "Bellen" aus
Daher sollten Methoden, um Polymorphismus zu unterstützen, virtuell sein (in Java sind alle nicht-statischen Methoden standardmäßig virtuell). Wichtig ist, Methoden nicht als static oder final zu deklarieren.