Sobes.tech
Junior

È possibile sovrascrivere i costruttori in Java?

sobes.tech AI

Risposta dell'AI

No, in Java i costruttori non vengono sovrascritti (overriding). La sovrascrittura si riferisce ai metodi della sottoclasse che hanno la stessa firma (nome, tipo di ritorno e lista dei parametri) di un metodo nella classe genitore.

Invece, in Java si usano sovraccarichi (overloading) per i costruttori. Ciò significa che in una stessa classe possono esserci più costruttori con lo stesso nome, ma con liste di parametri diverse (numero, tipi o ordine).

La sottoclasse può chiamare i costruttori della classe genitore usando la parola chiave super(...).

Esempio di sovraccarico di costruttori:

class MyClass {
    int value;
    String name;

    // Costruttore di default
    public MyClass() {
        this.value = 0;
        this.name = "default";
        // Chiamata ad un altro costruttore usando this()
        this(0, "default"); 
    }

    // Costruttore sovraccarico con un parametro
    public MyClass(int value) {
        this.value = value;
        this.name = "default";
    }

    // Costruttore sovraccarico con due parametri
    public MyClass(int value, String name) {
        this.value = value;
        this.name = name;
    }
}