Sobes.tech
Junior

Kann man Konstruktoren in Java überschreiben?

sobes.tech KI

Antwort von AI

Nein, in Java werden Konstruktoren nicht überschrieben (overriding). Das Überschreiben bezieht sich auf Methoden der Unterklasse, die die gleiche Signatur (Name, Rückgabetyp und Parameterliste) wie eine Methode in der Elternklasse haben.

Stattdessen verwenden Java-Konstruktoren Überladung (overloading). Das bedeutet, dass es in einer Klasse mehrere Konstruktoren mit demselben Namen, aber unterschiedlichen Parameterlisten (Anzahl, Typen oder Reihenfolge) geben kann.

Die Unterklasse kann die Konstruktoren der Elternklasse mit dem Schlüsselwort super(...) aufrufen.

Beispiel für Überladung von Konstruktoren:

class MyClass {
    int value;
    String name;

    // Standardkonstruktor
    public MyClass() {
        this.value = 0;
        this.name = "default";
        // Aufruf eines anderen Konstruktors mit this()
        this(0, "default"); 
    }

    // Überladener Konstruktor mit einem Parameter
    public MyClass(int value) {
        this.value = value;
        this.name = "default";
    }

    // Überladener Konstruktor mit zwei Parametern
    public MyClass(int value, String name) {
        this.value = value;
        this.name = name;
    }
}