كيفية استدعاء مُنشئ من مُنشئ آخر في Java؟ (استدعاء المُنشئ داخل المُنشئ)
مرحبًا أيها الزملاء! لقد بدأت للتو في تعلم Java وواجهت مشكلة. لدي كلاس `User`، وأريد فيه إنشاء عدة مُنشئات بمجموعات مختلفة من المعاملات. على سبيل المثال، مُنشئ واحد يأخذ الاسم والعمر، والثاني يأخذ الاسم والعمر وemail. أريد ألا يكرر المُنشئ الثاني الكود، بل يستدعي الأول ويُضيف email.
إليك كودي الذي لا يعمل:
```java
public class User {
private String name;
private int age;
private String email;
public User(String name, int age) {
this.name = name;
this.age = age;
}
public User(String name, int age, String email) {
// أحاول استدعاء المُنشئ الأول، لكن المترجم يشتكي
User(name, age); // خطأ: "Cannot find symbol"
this.email = email;
}
}
```
حاولت كتابة `new User(name, age)`، لكن ذلك يُنشئ كائنًا جديدًا، بينما تبقى حقول الكائن الحالي فارغة. كيف يمكنني استدعاء مُنشئ من مُنشئ آخر بشكل صحيح؟ وهل من الممكن عمومًا؟