Junior
Vai Java var pārrakstīt konstruktorus?
sobes.tech AI
Atbilde no AI
Nē, Java konstruktorus (build) nevar pārrakstīt (overriding). Pārrakstīšana attiecas uz bērnu klases metodēm, kurām ir tāda pati paraksta (nosaukums, atgriešanas tips un parametru saraksts) kā vecāku klases metodēm.
Tā vietā Java izmanto pārlādēšanu (overloading) konstruktoru gadījumā. Tas nozīmē, ka vienā klasē var būt vairāki konstruktori ar to pašu nosaukumu, bet dažādām parametru sarakstiem (skaits, tipi vai kārtība).
Bērnu klase var izsaukt vecāku klases konstruktorus, izmantojot atslēgvārdu super(...).
Piemērs pārlādēšanas konstruktoru:
class MyClass {
int value;
String name;
// Noklusējuma konstruktors
public MyClass() {
this.value = 0;
this.name = "default";
// Izsauc citu konstruktoru ar this()
this(0, "default");
}
// Pārlādēts konstruktors ar vienu parametru
public MyClass(int value) {
this.value = value;
this.name = "default";
}
// Pārlādēts konstruktors ar diviem parametriem
public MyClass(int value, String name) {
this.value = value;
this.name = name;
}
}