Sobes.tech
Junior

¿Se pueden sobrescribir los constructores en Java?

sobes.tech AI

Respuesta de la IA

No, en Java los constructores no se sobrescriben (overriding). La sobrescritura se refiere a los métodos de la clase hija que tienen la misma firma (nombre, tipo de retorno y lista de parámetros) que un método en la clase padre.

En lugar de sobrescribir, en Java se utilizan sobrecargas (overloading) para los constructores. Esto significa que en una misma clase puede haber varios constructores con el mismo nombre, pero con diferentes listas de parámetros (cantidad, tipos o orden).

La clase hija puede llamar a los constructores de la clase padre usando la palabra clave super(...).

Ejemplo de sobrecarga de constructores:

class MyClass {
    int value;
    String name;

    // Constructor por defecto
    public MyClass() {
        this.value = 0;
        this.name = "default";
        // Llamada a otro constructor usando this()
        this(0, "default"); 
    }

    // Constructor sobrecargado con un parámetro
    public MyClass(int value) {
        this.value = value;
        this.name = "default";
    }

    // Constructor sobrecargado con dos parámetros
    public MyClass(int value, String name) {
        this.value = value;
        this.name = name;
    }
}