Junior
É possível substituir os construtores em Java?
sobes.tech IA
Resposta da IA
Não, em Java os construtores não são sobrescritos (overriding). A sobrescrita refere-se aos métodos da classe filha que têm a mesma assinatura (nome, tipo de retorno e lista de parâmetros) que um método na classe pai.
Em vez de sobrescrever, em Java, usam-se sobrecargas (overloading) para os construtores. Isto significa que numa mesma classe podem existir vários construtores com o mesmo nome, mas com listas de parâmetros diferentes (quantidade, tipos ou ordem).
A classe filha pode chamar os construtores da classe pai usando a palavra-chave super(...).
Exemplo de sobrecarga de construtores:
class MyClass {
int value;
String name;
// Construtor padrão
public MyClass() {
this.value = 0;
this.name = "default";
// Chamada de outro construtor usando this()
this(0, "default");
}
// Construtor sobrecarregado com um parâmetro
public MyClass(int value) {
this.value = value;
this.name = "default";
}
// Construtor sobrecarregado com dois parâmetros
public MyClass(int value, String name) {
this.value = value;
this.name = name;
}
}