כיצד ליישם את ה- InstanceOf ב- JAVA?



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

InstanceOf In הוא מפעיל, המשמש לבדיקת סוג האובייקט. במונחים אחרים, הוא בודק אם האובייקט הוא מופע של מחלקה ספציפית או ממשק. התפוקה של פעולה כזו היא או נָכוֹן אוֹ שֶׁקֶר

המצביעים הבאים יוסקרו במאמר זה,





ממשיך הלאה עם מאמר זה על מופע ב- Java.

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



תחביר:

(אובייקט) מופע של (סוג)

דוגמה למופע instanceof ניתן לראות להלן:

class class ראשי {public static void main (String [] args) {Main s = new Main () System.out.println (s instance of Main)}}

תְפוּקָה



נָכוֹן

בדוגמה, הפלט המוחזר למשתמש הוא נָכוֹן , כלומר ' ס ”הוא מופע של מחלקה ראשית.

דוגמא

אובייקט מסוג תת מחלקה הוא גם סוג של מחלקת הורים.

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

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

תְפוּקָה

נָכוֹן

ממשיך הלאה עם מאמר זה על מופע ב- Java.

שימוש במשתנה בעל ערך null

class Music {public static void main (String args []) {Music m = null System.out.println (m instance of Music) // false}}

בדוגמה שהובאה לעיל, למשתנה שהוגדר יש ערך null.

לפיכך, הפלט שהוחזר הוא שקר.

תְפוּקָה

שֶׁקֶר

יש לציין את הנקודה הבאה בעת שימוש במפעיל instanceof:

ממשיך הלאה עם מאמר זה על מופע ב- Java.

אובייקט אב אינו מופע של ילד

class הורה {} class Child מרחיב הורה {} class ראשי {public static void main (String [] args) {Parent p = new Parent () if (p instanceof Child) System.out.println ('p is an instance of Child ') אחר System.out.println (' p אינו מופע של ילד ')}}

תְפוּקָה

P אינו מופע של ילד

ממשיך הלאה עם מאמר זה על מופע ב- Java.

Downc מדהים

כאשר מכנים תת-מחלקה לאובייקט של מחלקת הורים, השיטה מכונה downcasting.

בעת ביצוע downcasting ישירות, המהדר מחזיר שגיאת אוסף.

רוק r = מוזיקה חדשה () // שגיאת אוסף

בשימוש בהקלטות טיפוסי, ClassCastException נזרק בזמן הריצה.

רוק r = (רוק) מוסיקה חדשה () // אוסף מוצלח אבל ClassCastException נזרק

השיטה היחידה בה ניתן להפיל את ההפעלה היא באמצעות המפעיל מופע.

מחלקה מוסיקה {} מחלקה רוק מרחיב מוסיקה {שיטת חלל סטטי (מוסיקה m) {אם (m מופע של רוק) {Rock r = (רוק) m // downcasting System.out.println ('Downcasting מוצלח')}} ריק סטטי ציבורי main (String [] args) {Music m = New Rock () Rock.method (m)}}

תְפוּקָה

ההורדה בהצלחה מוצלחת

ממשיך הלאה עם מאמר זה על מופע ב- Java.

הבנת מופע:

ניתן להבין את השיטה של ​​מופע מופשט יותר על ידי הדוגמאות המפורטות להלן:

דוגמה זו עושה שימוש בממשק:

ממשק מופע {} class S מיישם Instance {public void s () {System.out.println ('השיטה הראשונה')}} class T מיישם Instance {public public t () {System.out.println ('השיטה השנייה') }} בכיתה הפעל {בטל הפעלה (מופע i) {// העלאה אם ​​(i מופע של S) {S s = (S) i // ירידה מטה ss ()} אם (אני מופע של T) {T t = (T) i // Downcasting tt ()}} class ראשי {public static void main (String args []) {Instance i = new T () Invoke v = New Invoke () v.invoke (i)}}

התפוקה של הדוגמה היא כדלקמן:
שיטה שנייה

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

מחלקה כלי נגינה {} מחלקה גיטרה מרחיבה כלי נגינה}} מחלקה פסנתר מרחיב כלי נגינה {} מחלקה ראשית {ציבורי ריק סטטי ראשי (מחרוזת [] טענות) {כלי נגינה = כלי חדש () גיטרה g = גיטרה חדשה () פסנתר = פסנתר חדש ( System.out.println (g instance of Instrument) System.out.println (p instance of Instrument) System.out.println (i instance of Guitar) System.out.println (i instance of Piano) i = g System.out.println ( i instanceof Guitar) System.out.println (i instanceof Piano) i = p System.out.println (i instanceof Guitar) System.out.println (i instance of Piano)}}

התפוקה היא כדלקמן:

נָכוֹן

נָכוֹן

אתה יכול להפיל כפול לאינטל

שֶׁקֶר

שֶׁקֶר

נָכוֹן

שֶׁקֶר

שֶׁקֶר

נָכוֹן

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

לפיכך הגענו לסוף מאמר זה בנושא 'instanceOf בג'אווה'. אם ברצונך ללמוד עוד, עיין ב- Java Training של Edureka, חברת למידה מקוונת אמינה. נועד לאמן אותך למושגי ליבה מרכזיים ומתקדמים יחד עם מסגרות Java שונות כמו Hibernate & Spring.

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