כיצד ליישם מחלקה פנימית בג'אווה?



הכיתה הפנימית בג'אווה פירושה כיתה אחת שהיא חברה בכיתה אחרת. מאמר זה יעזור לכם להתיר את השיעור הזה.

הכיתה הפנימית בג'אווה פירושה כיתה אחת שהיא חברה בכיתה אחרת. ב , ישנם סוגים שונים של שיעורים פנימיים. מאמר זה יעזור לכם להתיר את כל השיעורים הללו. המצביעים הבאים יידונו בפירוט,

בואו נתחיל במאמר זה בכיתה פנימית בג'אווה,





מחלקה פנימית בג'אווה

מחלקה פנימית מקוננת

למחלקה זו יש גישה לכל ערך מופע פרטי של המחלקה החיצונית. כתיבה בכיתה אחת בכיתה אחרת מותרת גם ב- Java. הכיתה שנכתבה בתוך ידועה כיתה מקוננת והמעמד המחזיק את המעמד הפנימי מכונה מעמד חיצוני.



תחביר

מחלקה חיצונית {מחלקה פנימית {}}

דוגמא

בדוגמה המובאת להלן, אנו הופכים את המעמד הפנימי לפרטי וניגש לשיעור בעזרת שיטה.



class Outer_place {int num class class Inner_place {public void print () {System.out.println ('זה מחלקה פנימית')}} ריק display_Inner () {Inner_place inner = new Inner_place () inner.print ()}} מחלקה ציבורית My_class {main public public static public (String args []) {Outer_place outer = new Outer_place () outer.display_Inner ()}}

תְפוּקָה

פלט - מחלקה פנימית בג

באמצעות r ללימוד מכונה

כאן, המקום החיצוני הוא המעמד החיצוני והמקום הפנימי נקרא המעמד הפנימי.

ממשיך הלאה עם המאמר הפנימי הזה ב- Java,

גישה לחברים פרטיים

שיעורים פנימיים משמשים גם לגישה לחברים הפרטיים בכיתה. נניח שיש כיתה שיש חברים פרטיים לגשת אליהם. כעת כתוב מעמד פנימי בתוך הכיתה וגש לחברים הפרטיים משיטה בתוך הכיתה הפנימית.

הנה הדוגמה,

class Outer_place {private int num = 162 class Inner_place {public int getNum () {System.out.println ('זו שיטת getnum של מחלקה פנימית:') החזר מספר}}} class class My_class {public static void main (String טענות []) {מקום חיצוני חיצוני = מקום חיצוני חדש () מקום חיצוני.מקום פנימי = חיצוני. מקום פנימי חדש () System.out.println (inner.getNum ())}}

תְפוּקָה

ממשיך הלאה,

שיטת שיעורים פנימיים מקומיים

בג'אווה, אתה יכול לכתוב כיתה בתוך השיטה וזה ייקרא כסוג מקומי. כמו כל המשתנים המקומיים, היקף המעמד הפנימי מוגבל בשיטה.

דוגמא

הדוגמה הבאה תראה כיצד מיושמת שיטה מחלקה פנימית מקומית.

מחלקה ציבורית Outerplace {void my_Method () {int num = 45 class MethodInner_place {public void print () {System.out.println ('שיטה לשיעורים פנימיים' + num)}} MethodInner_place inner = new MethodInner_place () inner.print ( )} ראשי ריק סטטי ציבורי (מחרוזת טוענת []) {חיצוני חיצוני = מקום חיצוני חדש () חיצוני. שלי_מתח ()}}

תְפוּקָה

ממשיך הלאה עם המאמר הפנימי הזה ב- Java,

מעמד פנימי אנונימי

כל מעמד פנימי המוצהר ללא שם הכיתה נקרא מעמד פנימי אנונימי. במקרה של שיעורים פנימיים אנונימיים, אנו מיישרים ומצהירים על כך במקביל.

בכל פעם שאנחנו רוצים לעקוף את שיטת המחלקה או הממשק, אנו משתמשים במחלקה זו.

תחביר

AnonymousInner obj1 = חדש AnonymousInner () {שיטת חלל ציבורית () {}}

דוגמא

מחלקה מופשטת אנונימית פנימית {מופשט ציבורי בטל מתודה ()} מחלקה ציבורית חיצונית_קלאס {ציבורי ריק סטטי ראשי (מחרוזת טענה []) {אנונימי פנימי = חדש אנונימי () {ציבורי בטל מתודה () {System.out.println ('דוגמה לאנונימית מחלקה פנימית ')}} inner.mymethod ()}}

תְפוּקָה

ממשיך הלאה עם המאמר הפנימי הזה ב- Java,

כטיעון של מעמד פנימי אנונימי

בכך, אם מתודה מקבלת את האובייקט של הממשק, של מחלקה מופשטת, או את המחלקה הקונקרטית, אנו מסוגלים ליישם את הממשק, להעביר את האובייקט לשיטה ולהרחיב את המחלקה המופשטת.

תחביר

התנגדות שיטה (מחלקה חדשה () {public void do {}})

דוגמא

ממשק // ממשק ממשק הודעה {String greet ()} מחלקה ציבורית My_class {// אובייקט הודעת ממשק מתקבל בשיטה זו public void displayMessage (Message m) {System.out.println (m.greet () + ', דוגמה של מחלקה פנימית אנונימית כטענה ')} סטטי ציבורי ריק ריק (מחרוזת טוענת []) {// מייצב מחלקה My_class obj = new My_class () // העברת המעמד הפנימי האנונימי כארגומנט obj.displayMessage (הודעה חדשה () {public מחרוזת שלום () {החזור 'היי'}}}}}

תְפוּקָה

לשיטת מחרוזת בג'אווה

ממשיך הלאה עם המאמר הפנימי הזה ב- Java,

מחלקה פנימית אנונימית של תת-קבוצה מוגדרת

קוד מקור

הדגמת מחלקה {void show () {System.out.println ('הייתי בשיטת show של class')}} class Flavor1Demo {סטטי הדגמה d = הדגמה חדשה () {show void () {super.show () System. out.println ('הייתי נוכח בכיתה Flavor1Demo')}} ראשי ריק סטטי ציבורי (String [] args) {d.show ()}}

תְפוּקָה

ממשיך הלאה עם המאמר הפנימי הזה ב- Java,

מעמד פנימי אנונימי כמשתמש של ספציפי מִמְשָׁק

קוד מקור

מחלקה Flavor2Demo {// מחלקה המיישמת סטטי ממשק שלום שלום h = חדש שלום () {מופע חלל ציבורי () {System.out.println ('הייתי נוכח בכיתה אנונימית')}} ריק סטטי ציבורי ראשי (מחרוזת [] args) {h.show ()}} ממשק שלום {show void ()}

תְפוּקָה

ממשיך הלאה עם המאמר הפנימי הזה ב- Java,

כיתות מקוננות סטטיות

שיעורים אלה אינם ידועים טכנית כשיעורים פנימיים. שיעורים אלה דומים לחבר הסטטי של המעמד החיצוני. למחלקה מקוננת סטטית אין גישה למשתנים ולשיטות של המעמד החיצוני. איננו צריכים לייצר את המעמד החיצוני, ניתן לגשת אליו ישירות באמצעות החברים הסטטיים.

תחביר

מחלקה חיצונית {מחלקה סטטית מקוננת_דוגמא {}}

דוגמא

מחלקה ציבורית חיצונית {מחלקה סטטית Nested_Example {public void my_method () {System.out.println ('זהו המחלקה המקוננת')}} public static public ריק (String args []) {Outer.Nested_Example nested = new Outer.Nested_Example () nested.my_method ()}}

תְפוּקָה

כיצד להשתמש בכיתה הסורק ב - Java

לפיכך הגענו לסוף מאמר זה. אם ברצונך ללמוד עוד,לבדוק את מאת אדוריקה, חברת למידה מקוונת אמינה. קורס ההכשרה וההסמכה של Java J2EE ו- SOA של אדוריקה נועד להכשיר אותך לקונספטים מרכזיים של Java וגם עם מסגרות Java שונות כמו Hibernate & Spring.

יש לך שאלה עבורנו? אנא הזכיר זאת בסעיף ההערות במאמר זה ונחזור אליך בהקדם האפשרי.