ملخص
تعلم مؤخرًا Python ووجد أن Python يدعم المزيد من الميراث ، وهو ما يذكرني بهذه الآلية التي تنفذها الطبقة الداخلية. هذه المقالة لا تتعلق بكيفية تحقيق المزيد من الميراث من خلال الطبقة الداخلية ، ولكن لتلخيص الأنواع وطرق الاستخدام للطبقة الداخلية.
تنقسم فئة Java الداخلية إلى:
يتم استخدام الفئة الداخلية في رمز مصدر Android بكميات كبيرة.
بعد ذلك ، قدم هذه الطبقات الداخلية على التوالي.
فئة داخلية غير ثابتة
عندما يكون الفصل عضوًا غير منتظم في فصل آخر ، فإن هذه الفئة هي فئة داخلية غير ثابتة.
رمز المثال لإنشاء فئة داخلية غير منتظمة هي كما يلي:
الفئة OutClass {class innerclass {}}
عندما قمنا بتجميع Javac ، وجدنا أنه تم إنشاء ملفين .class: OutClass.class و OutClass $ Innerclass.class. كما هو مبين في الشكل أدناه:
الفئات الداخلية من الطريقة غير المنطقية للفئة الخارجية
من السهل الوصول إلى الفئة الداخلية في الفئة الخارجية. رمز المثال هو كما يلي:
الطبقة العامة {private static int a = 0 ؛ .MakeInner () ؛} الفئة الداخلية {public void seeouter () {system.out.println (a) ؛النتائج كما يلي:
0
الفئات الداخلية من الطريقة الثابتة للفئة الخارجية
من السهل نسبيًا الوصول إلى الفئة الداخلية في الفئة الخارجية.
OutClass.innerclass innerclass = new OutClass ().
وبعبارة أخرى ، يلزم إنشاء فئة داخلية غير ثابتة أولاً ، ثم يتم استخدام الطبقات الداخلية التي تم تأليفها من خلال كائنات الفئة الخارجية. رمز المثال هو كما يلي:
الطبقة العامة {private static int a = 0 ؛ .
نتائج التشغيل:
01
هذه المرجع في الفصل الداخلي
يمكن للفئات العادية الرجوع إلى الكائنات الحالية مع هذا ، وكذلك الفئات الداخلية. ولكن ماذا لو أرادت الفئة الداخلية اقتباس الكائن الحالي للفئة الخارجية؟ يمكنك استخدام الطرق التالية:
الاسم الخارجي
رمز المثال هو كما يلي:
الطبقة العامة {private static int a = 0 ؛ . }}}
فئة داخلية ثابتة
يتم تقديم الطبقة الداخلية غير القاتلة أعلاه.
الطبقة الداخلية الثابتة هي دور عضو ثابت في الفئة الخارجية.
لاحظ أنه لا يمكن تعديل الفئة الخارجية باستخدام المعدل الثابت.
رمز المثال هو كما يلي:
فئة OutClass {static class innerclass {}}
تجميعها مع أمر Javac ، يمكنك أن ترى أن هناك ملفان .class ، كما هو موضح في الشكل أدناه:
الطبقات الداخلية من الطبقات الداخلية الثابتة من الطريقة غير المستقلة للفئة الخارجية
إن زيارة الطبقات الداخلية الساكنة من الفئات الخارجية هي نفس الفئات الداخلية غير الثابتة في الفئات الخارجية. ومع ذلك ، تجدر الإشارة إلى أنه في هذا الوقت ، يمكن للطبقة الداخلية الثابتة الوصول فقط إلى الأعضاء الثابتين في الفئة الخارجية ، ولا يمكن الوصول إلى الأعضاء غير المنطقيين.
رمز المثال هو كما يلي:
الطبقة العامة OutClass {private int a = 0 ؛ OutClass Oclass = new OutClass () ؛ println (b) ؛}}}
نتائج التنفيذ هي كما يلي:
OutClass $ Innerclass@79a3400
التصنيف الداخلي للفئات الداخلية الثابتة من الطريقة الثابتة الخارجية
يلاحظ:
نظرًا لأن الفئة الداخلية الثابتة هي عضو ثابت في الفئة الخارجية ، ويرتبط الأعضاء الثابتون بالفئة ، وليس كائن الكائنات التي تم تأسيسها. لذلك ، لا تحتاج الفئات الداخلية في الطريقة الثابتة للفئة الخارجية إلى إنشاء إنشاء فئة خارجية أولاً.
رمز المثال هو كما يلي:
الطبقة العامة OutClass {private int a = 0 ؛ OutClass Oclass = OutClass الجديد () ؛ هذا) ؛
فئة داخلية مجهولة
الفئة الداخلية المجهولة هي التي تغمرها تطبيقات Android.
يمكن للفئة الداخلية المجهولة أن تعرف أن هذه فئة داخلية لا تحتوي على فئة ، والتي تستخدم عادة لتبسيط الرمز.
أعتقد أن الطلاب الذين يكتبون Java يستخدمون المواضيع. رمز المثال هو كما يلي:
الفئة العامة OutClass {public void testanymoundclass () {thread t = new thread (new RunNable () {Override public void run () {for (int i = 0 ؛ i <10 ؛ i ++) {system.out.printlnn (i) ؛ .
نتائج التنفيذ هي كما يلي:
موضوع آخر يعمل ...