Ko'pincha, takroriy ishga tushirish kodini yozishni oldini olish uchun bir konstruktorning kodini boshqasidan chaqirish kerak.
Buni qanday amalga oshirish mumkinligiga misol:
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);
}
}
Ko'rib turganingizdek, buning uchun biz kalit so'zdan foydalanamiz this
, shundan so'ng biz qavslar ichida mos keladigan konstruktor uchun parametrlarni ko'rsatamiz (bu holda ikkita parametr bilan). Bitta konstruktorni boshqasidan bitta sinfda yoki yuqori sinfda quyidagi cheklovlar bilan chaqirishingiz mumkin:
- Chaqiriladigan konstruktor chaqiruvchi konstruktorda kodning birinchi qatorida bo'lishi kerak.
- Ichki konstruktorda "bu" ga aniq yoki yashirin havola bo'lishi mumkin emas. Shunday qilib, siz ichki sinfga kira olmaysiz.
GO TO FULL VERSION