بعد تحديد مُنشئ المعلمات عند إنشاء فئة ، لن يقوم النظام بإنشاء مُنشئ بدون معلمة افتراضيًا ، ويجب إنشاءه يدويًا بنفسك.
عند إنشاء مثيل كائن من الفئة الفرعية ، سيتم استدعاء مُنشئ الفئة الأصل (المُنشئ الافتراضي) افتراضيًا.
إذا لم تحدد الفئة الأصل مُنشئًا بدون معلمة ، فسيتم الإبلاغ عن خطأ أثناء مرحلة التجميع.
إذا كانت الفئة الفرعية تحدد مُنشئ المعلمات للفئة الأصل ، فيمكن تجميعها وتشغيلها.
يوضح إعلان الفئة الفرعية Super (ID ، City) أن مُنشئ معلمات الفئة الأصل يسمى
Package cn.lw.testpkg ؛/*** Author Wanglei 18 أبريل 2018*/class predessor {private int id ؛ سيتي سلسلة خاصة ؛ Predessor (int id ، String City) {this.id = id ؛ this.city = المدينة ؛ } Override public string toString () {return "predessor [id =" + id + "، city =" + city + "]" ؛ }} خلف الفئة يمتد Predessor {اسم السلسلة الخاصة ؛ جنسية سلسلة خاصة الخلف العام (اسم السلسلة ، سلسلة الجنس ، int id ، String City) {Super (id ، City) ؛ this.name = name ؛ this.Sex = الجنس ؛ } Override public string toString () {return "succistor [name =" + name + "، sex =" + sex + "]" ؛ }} الفئة العامة CallConstructorTest {public static void main (string [] args) {scilector s2 = new sivor ("a" ، "male" ، 1 ، "hz") ؛ System.out.println (S2) ؛ }}الإخراج
خليفة [الاسم = أ ، الجنس = ذكر]
لا تحدد فئة الأصل مُنشئًا بدون معلمة ، ولا تعلن فئة الطفل Super (ID ، المدينة)
الخلف العام (اسم السلسلة ، سلسلة الجنس) {this.name = name ؛ this.Sex = sex ؛}خطأ في التجميع
Predorsor Predessor الضمني Super Super غير محدد. يجب أن تستدعي صراحة مُنشئًا آخر
تعرض الفئة الأصل تعريف مُنشئ المعلمة ، وعبر مكالمات الطريقة
Package cn.lw.testpkg ؛/*** Author Wanglei 18 أبريل 2018*/class predessor {private int id ؛ سيتي سلسلة خاصة ؛ Preporser () {system.out.println ("استدعاء المُنشئ بدون معلمة Predorser") ؛ } Predorser (int id ، String City) {this.id = id ؛ this.city = المدينة ؛ } Override public string toString () {return "predessor [id =" + id + "، city =" + city + "]" ؛ }} خلف الفئة يمتد Predessor {اسم السلسلة الخاصة ؛ جنسية سلسلة خاصة الخلف العام () {system.out.println ("تم استدعاء المُنشئ بدون معلمات من الخلف") ؛ } الخلف العام (اسم السلسلة ، سلسلة الجنس) {this.name = name ؛ this.Sex = الجنس ؛ } Override public string toString () {return "succistor [name =" + name + "، sex =" + sex + "]" ؛ }} الفئة العامة callConstructorTest {public static void main (string [] args) {suckor s = new suckor () ؛ system.out.println (s) ؛ System.out.println ("-----------------------") ؛ خليفة S2 = خليفة جديد ("A" ، "ذكر") ؛ System.out.println (S2) ؛ }}الإخراج
ودعا المُنشئ بدون معلمات. ودعا المُنشئ بدون معلمات.
خليفة [name = null ، sex = null]
--------------
يسمى مُنشئ بريسور بدون حجج
خليفة [الاسم = أ ، الجنس = ذكر]
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.