Sobes.tech
Junior

Kun je constructors overschrijven in Java?

sobes.tech AI

Antwoord van AI

Nee, in Java worden constructors niet overschreven (overriding). Overriding verwijst naar methoden van de subclass die dezelfde handtekening (naam, returntype en parameterlijst) hebben als een methode in de superclass.

In plaats daarvan gebruiken Java-constructors overbelasting (overloading). Dit betekent dat er in één klasse meerdere constructors kunnen zijn met dezelfde naam, maar met verschillende parameterlijsten (aantal, types of volgorde).

De subclass kan de constructors van de superclass aanroepen met behulp van het sleutelwoord super(...).

Voorbeeld van overbelasting van constructors:

class MyClass {
    int value;
    String name;

    // Standaard constructor
    public MyClass() {
        this.value = 0;
        this.name = "default";
        // Aanroep van een andere constructor met this()
        this(0, "default"); 
    }

    // Overbelaste constructor met één parameter
    public MyClass(int value) {
        this.value = value;
        this.name = "default";
    }

    // Overbelaste constructor met twee parameters
    public MyClass(int value, String name) {
        this.value = value;
        this.name = name;
    }
}