Көбінесе қайталанатын инициализация codeын жазбау үшін бір конструктордың codeын екіншісінен шақыру қажет.
Міне, мұны қалай жасауға болатынының мысалы:
public class SomeClass {
int a;
int b;
int c;
public SomeClass(int a, int b){
this.a = a;
this.b = b;
}
public SomeClass(int a, int b, int c){
// Вызов конструктора с двумя параметрами.
this(a, b);
this.c = c;
}
public void show(){
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
}
}
Көріп отырғаныңыздай, бұл үшін біз кілт сөзін қолданамыз this
, содан кейін жақшаның ішінде сәйкес конструктордың параметрлерін көрсетеміз (бұл жағдайда екі параметрмен). Келесі шектеулермен бір сыныпта немесе суперкласста бір конструкторды екіншісінен шақыруға болады:
- Шақырылатын конструктор шақырушы конструктордағы codeтың бірінші жолында болуы керек.
- Кірістірілген конструкторда «осы» дегенге нақты немесе жасырын сілтеме болуы мүмкін емес. Сондықтан сіз ішкі сыныпқа кіре алмайсыз.
GO TO FULL VERSION