في كثير من الأحيان، لتجنب كتابة رمز التهيئة المكرر، من الضروري استدعاء رمز مُنشئ واحد من مُنشئ آخر.
فيما يلي مثال لكيفية القيام بذلك:
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