Junior
Se pot suprascrie constructorii în Java?
sobes.tech AI
Răspuns de la AI
Nu, în Java, constructorii nu sunt suprascrisi (overriding). Suprascirea se referă la metodele clasei copil care au aceeași semnătură (nume, tip de returnare și listă de parametri) ca și o metodă în clasa părinte.
În loc de suprascriere, în Java se folosesc supraincarcări (overloading) pentru constructori. Aceasta înseamnă că într-o clasă pot exista mai mulți constructori cu același nume, dar cu liste de parametri diferite (număr, tipuri sau ordine).
Clasa copil poate apela constructorii clasei părinte folosind cuvântul cheie super(...).
Exemplu de supraincarcare a constructorilor:
class MyClass {
int value;
String name;
// Constructor implicit
public MyClass() {
this.value = 0;
this.name = "default";
// Apelarea altui constructor cu this()
this(0, "default");
}
// Constructor supraincarcat cu un parametru
public MyClass(int value) {
this.value = value;
this.name = "default";
}
// Constructor supraincarcat cu doi parametri
public MyClass(int value, String name) {
this.value = value;
this.name = name;
}
}