اغلب، برای جلوگیری از نوشتن کد اولیه تکراری، لازم است کد یک سازنده از سازنده دیگر فراخوانی شود.
در اینجا مثالی از نحوه انجام این کار آورده شده است:
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
و پس از آن در پرانتز پارامترهای سازنده مربوطه را نشان می دهیم (در این مورد با دو پارامتر). می توانید یک سازنده را از سازنده دیگر در همان کلاس یا در یک سوپرکلاس با محدودیت های زیر فراخوانی کنید:
- سازنده ای که باید فراخوانی شود باید در اولین خط کد سازنده فراخوان باشد.
- سازنده تو در تو نمی تواند هیچ ارجاع صریح یا ضمنی به "این" داشته باشد. بنابراین نمی توانید وارد کلاس داخلی شوید.
GO TO FULL VERSION