كيف يتم تنفيذ الفصل الداخلي في جافا؟



الطبقة الداخلية في جافا تعني فئة واحدة هي عضو في فئة أخرى. ستساعدك هذه المقالة في حل هذا الفصل.

الطبقة الداخلية في جافا تعني فئة واحدة هي عضو في فئة أخرى. في ، هناك أنواع مختلفة من الطبقات الداخلية. ستساعدك هذه المقالة في كشف كل هذه الفئات. ستتم مناقشة المؤشرات التالية بالتفصيل ،

فلنبدأ بمقالة Inner Class In Java هذه ،





الطبقة الداخلية في جافا

فئة داخلية متداخلة

هذه الفئة لديها حق الوصول إلى أي قيمة مثيل خاصة للفئة الخارجية. يُسمح أيضًا بكتابة فصل دراسي داخل فصل دراسي آخر في Java. يُعرف الفصل المكتوب بداخله بالفئة المتداخلة وتُعرف الفئة التي تحتوي على الطبقة الداخلية بالفئة الخارجية.



بناء الجملة

الطبقة الخارجية {class innerplace {}}

مثال

في المثال الموضح أدناه ، نجعل الطبقة الداخلية خاصة ونصل إلى الفصل بمساعدة الطريقة.



class Outer_place {int num private class Inner_place {public void print () {System.out.println ('It is an inner class')}} void display_Inner () {Inner_place inner = new Inner_place () inner.print ()}} فئة عامة My_class {public static void main (String args []) {Outer_place outside = new Outer_place () external.display_Inner ()}}

انتاج |

الإخراج - الطبقة الداخلية في Java - Edureka

هنا ، المكان الخارجي هو الطبقة الخارجية والمكان الداخلي يسمى الطبقة الداخلية.

المضي قدمًا في مقالة Inner Class In Java هذه ،

الوصول إلى الأعضاء الخاصين

تستخدم الفصول الداخلية للوصول إلى الأعضاء الخاصين في الفصل أيضًا. افترض أن هناك فصلًا به أعضاء خاصون للوصول إليهم. اكتب الآن فئة داخلية داخل الفصل وقم بالوصول إلى الأعضاء الخاصين من طريقة داخل الفصل الداخلي.

نسخة عميقة مقابل نسخة ضحلة جافا

هذا هو المثال ،

class Outer_place {private int num = 162 class Inner_place {public int getNum () {System.out.println ('إنها طريقة getnum للفئة الداخلية:') return num}}} فئة عامة My_class {public static void main (String args []) {Outer_place outside = new Outer_place () Outer_place.Inner_place inner = outside.new Inner_place () System.out.println (inner.getNum ())}}

انتاج |

المضي قدما ،

طريقة الطبقات الداخلية المحلية

في Java ، يمكنك كتابة فئة داخل الطريقة والتي ستعرف بالنوع المحلي. مثل جميع المتغيرات المحلية ، فإن نطاق الطبقة الداخلية مقيد داخل طريقة.

مثال

سيوضح المثال التالي كيفية تطبيق فئة داخلية محلية.

الطبقة العامة Outerplace {void my_Method () {int num = 45 class MethodInner_place {public void print () {System.out.println ('method for inner classes' + num)}} MethodInner_place inner = new MethodInner_place () inner.print ( )} public static void main (String args []) {Outerplace outside = new Outerplace () external.my_Method ()}}

انتاج |

goto بيان c ++

المضي قدمًا في مقالة Inner Class In Java هذه ،

فئة داخلية مجهولة

أي فئة داخلية يتم الإعلان عنها بدون اسم الفئة تسمى الطبقة الداخلية المجهولة. في حالة الطبقات الداخلية المجهولة ، نقوم بإنشاء مثيل لها ونعلن عنها في نفس الوقت.

عندما نريد تجاوز طريقة الفصل أو الواجهة ، فإننا نستخدم هذه الفئة.

بناء الجملة

AnonymousInner obj1 = new AnonymousInner () {public void method () {}}

مثال

فئة مجردة AnonymousInner {public abstract void mymethod ()} public class Outer_class {public static void main (String args []) {AnonymousInner inner = new AnonymousInner () {public void mymethod () {System.out.println ('مثال مجهول الطبقة الداخلية ')}} الطريقة الداخلية ()}}

انتاج |

المضي قدمًا في مقالة Inner Class In Java هذه ،

كحجة من الطبقة الداخلية المجهولة

في هذا ، إذا قبلت طريقة كائن الواجهة ، أو فئة مجردة ، أو فئة ملموسة ، فعندئذٍ نكون قادرين على تنفيذ الواجهة ، وتمرير الكائن إلى الطريقة وتوسيع فئة الملخص.

بناء الجملة

الهدف. طريقة (فئة جديدة () {public void do {}})

مثال

// واجهة واجهة الرسالة {Stringreet ()} public class My_class {// object of interface message مقبولة بهذه الطريقة public void displayMessage (Message m) {System.out.println (m.greet () + '، مثال على فئة داخلية مجهولة كـ وسيطة ')} public static void main (String args []) {// Instiating of class My_class obj = new My_class () // تمرير الفئة الداخلية المجهولة كوسيطة obj.displayMessage (رسالة جديدة () {public تحية السلسلة () {return 'Hey'}})}}

انتاج |

المضي قدمًا في مقالة Inner Class In Java هذه ،

فئة داخلية مجهولة لفئة فرعية محددة

مصدر الرمز

class Demo {void show () {System.out.println ('i was in show method of class')}} class Flavor1Demo {static Demo d = new Demo () {void show () {super.show () System. out.println ('i was present in Flavor1Demo class')}} public static void main (String [] args) {d.show ()}}

انتاج |

المضي قدمًا في مقالة Inner Class In Java هذه ،

فئة داخلية مجهولة كمنفذ لما تم تحديده واجهه المستخدم

بيان goto في c ++

مصدر الرمز

class Flavor2Demo {// class التي تنفذ واجهة Hello static Hello h = new Hello () {public void show () {System.out.println ('i was present in anonymous class')}} public static void main (String [] args) {h.show ()}} الواجهة مرحبًا {void show ()}

انتاج |

المضي قدمًا في مقالة Inner Class In Java هذه ،

فئات متداخلة ثابتة

لا تُعرف هذه الفئات تقنيًا بالفئات الداخلية. تشبه هذه الفئات العضو الثابت للفئة الخارجية. لا تملك الفئة المتداخلة الثابتة أي وصول إلى متغيرات وأساليب الفئة الخارجية. لا نحتاج إلى إنشاء مثيل للفئة الخارجية ، يمكن الوصول إليها مباشرة باستخدام الأعضاء الثابتة.

بناء الجملة

فئة خارجية {Static class nested_example {}}

مثال

فئة عامة خارجي {static class Nested_Example {public void my_method () {System.out.println ('It is the nested class')}} public static void main (String args []) {Outer.Nested_Example nested = new Outer.Nested_Example () nested.my_method ()}}

انتاج |

وهكذا وصلنا إلى نهاية هذا المقال. إذا كنت ترغب في معرفة المزيد ،تفحص ال بواسطة Edureka ، شركة تعليمية موثوقة عبر الإنترنت. تم تصميم دورة تدريب وإصدار شهادات Java J2EE و SOA من Edureka لتدريبك على مفاهيم Java الأساسية والمتقدمة جنبًا إلى جنب مع العديد من أطر Java مثل Hibernate & Spring.

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات بهذه المقالة وسنعاود الاتصال بك في أقرب وقت ممكن.