לעתים קרובות, על מנת להימנע מכתיבת קוד אתחול כפול, יש צורך לקרוא לקוד של בנאי אחד מהאחר.
הנה דוגמה כיצד ניתן לעשות זאת:
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