مُنشئ جافا هو دور مهم للغاية. بادئ ذي بدء ، يمكن زيادة تحميل المُنشئ في Java ، ولأنه يمكن أيضًا موروثه من مُنشئ الفئة الأصل ، في الفئة الفرعية ، فإن أول شيء هو استدعاء مُنشئ الفئة الأصل. يمكنك مقارنتها مع المثالين التاليين:
اختبار الفئة العامة {public static void main (String args []) {b b = new B (100) ؛ }} class a {public a () {system.out.println ("a بدون أي معلمة") ؛ } public a (int i) {system.out.println ("a with a parameter") ؛ }} class B يمتد {public b () {system.out.println ("b بدون أي معلمة") ؛ } public b (int i) {system.out.println ("b with a parameter") ؛ }}الإخراج النهائي لهذا المثال هو
بدون أي معلمة
ب معلمة
يمكنك أن ترى أن أول شيء تسميه هو مُنشئ الفئة الأصل ، ثم يسمى المنشئ الخاص. ومع ذلك ، نظرًا لأن المُنشئ الذي يحتوي على معلمات في الفئة B هنا لا يحتوي على فئة Parent Super ، فإنه لن ينفذ إلا مُنشئ بدون معلمات من الفئة الأصل. إذا كنت تريد أن تنفذ مُنشئ الفئة الأصل مع المعلمات ، فعليك كتابة الرمز مثل هذا:
اختبار الفئة العامة {public static void main (String args []) {b b = new B (100) ؛ }} class a {public a () {system.out.println ("a بدون أي معلمة") ؛ } public a (int i) {system.out.println ("a with a parameter") ؛ }} class B يمتد {public b () {system.out.println ("b بدون أي معلمة") ؛ } public b (int i) {super (i) ؛ // هذا هو System.out.println ("B مع معلمة") ؛ }}لذا فإن الإخراج النهائي هو:
أ مع معلمة
ب معلمة
لذلك ، يجب أن تستخدم الفئة المشتقة Super لاستدعاء المُنشئ الذي يحتوي على معلمات الفئة الأصل. هذا سؤال آخر:
اختبار الفئة العامة يمتد x {y y = new y () ؛ Test () {system.out.print ("Z") ؛ } public static void main (String args []) {new test () ؛ }} class x {y b = new y () ؛ x () {system.out.print ("x") ؛ }} class y {y () {system.out.print ("y") ؛ }}ما هي نتيجة الإخراج؟
أولاً ، دعنا نحلل هذا السؤال:
نظرًا لأن نظرة أولى على هذه الوظيفة الرئيسية ، فهناك رمز واحد فقط لهذه الوظيفة الرئيسية: اختبار جديد () ؛ لأنني وجدت أن فئة الاختبار هذه ترث من X ، أحتاج أولاً إلى إنشاء X ، لذلك أقوم بتشغيل X Class Y B = جديد Y () ، ثم يمكننا رؤية الإخراج Y ، ثم تنفيذ مُنشئ X Class X و Output X ؛ ثم بناء y ، ثم قم بتنفيذ مُنشئ الاختبار الخاص ، والإخراج z ، وبالتالي فإن نتيجة الإخراج هي yxyz.
إن التفسير التفصيلي أعلاه لبعض المعرفة حول البنائين في Java هو كل المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.