כיצד להשיג סוג אובייקט ב-Java?

Kyzd Lhsyg Swg Wbyyqt B Java



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

מאמר זה יעזור לך ללמוד את השיטה לקבל את סוג האובייקט ב-Java.

כיצד להשיג סוג אובייקט ב-Java?

לקבלת סוג של אובייקט מחלקה מוגדר מראש או מוגדר על ידי משתמש ב-Java, אתה יכול להשתמש ב:







  • getClass() שיטה
  • מופע של מַפעִיל

כעת נבדוק כל אחת מהשיטות המוזכרות אחת לאחת!



שיטה 1: קבל סוג של אובייקט מחלקה מוגדר מראש באמצעות שיטת getClass()

ב-Java, יש לנו מחלקות מוגדרות מראש כמו מחלקות עטיפה כגון String, Double, Integer ורבים נוספים. לפעמים אנחנו צריכים לאמת את סוג האובייקט תוך שימוש במחלקות מוגדרות מראש. למטרה זו, Java מציעה ' getClass() שיטה ששייכת ל' לְהִתְנַגֵד ' מעמד.



תחביר
התחביר של ' getClass() ' השיטה ניתנת באופן הבא:





איקס. getClass ( )

הנה ה ' getClass() ' השיטה תחזיר את המחלקה של ' שצוין ' איקס ' חפץ.

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



חוּט איקס = 'שלום' ;

לאחר מכן, נדפיס הצהרה באמצעות ' System.out.println() ' שיטה:

מערכת . הַחוּצָה . println ( 'x שייך ל?' ) ;

לבסוף, נקבל את סוג האובייקט ' איקס ' על ידי קריאה ל' getClass() ' שיטה:

מערכת . הַחוּצָה . הדפס ( איקס. getClass ( ) ) ;

הפלט מראה שהמשתנה שנוצר שייך למחלקת Java String:

בוא נראה שיטה אחרת לקבל את סוג האובייקט באמצעות האופרטור 'instanceof'.

שיטה 2: קבל סוג של אובייקט מחלקה מוגדר מראש באמצעות אופרטור 'instanceof'.

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

תחביר
התחביר של ' מופע של 'הוא כדלקמן:

איקס מופע של מספר שלם

כאן, ' איקס 'הוא אובייקט ו' מספר שלם ” היא מחלקת ה-Java Wrapper המוגדרת מראש. ה ' מופע של ” האופרטור בודק האם האובייקט שייך למחלקה המוזכרת או לא ומחזיר ערך בוליאני.

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

מספר שלם איקס = 5 ;

לאחר מכן, נדפיס הצהרה באמצעות ' System.out.println() ' שיטה:

מערכת . הַחוּצָה . הדפס ( 'x הוא מופע של מחלקה שלם?' ) ;

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

מערכת . הַחוּצָה . הדפס ( איקס מופע של מספר שלם ) ;

הפלט המוצג ' נָכוֹן 'כאובייקט' איקס ' הוא מופע של המחלקה Integer:

בשלב זה, ייתכן שאתה תוהה כיצד להשיג את סוג האובייקט המחלקה המוגדר על ידי המשתמש. הסעיף להלן יסייע לך בהקשר זה.

שיטה 3: קבל סוג של אובייקט מחלקה המוגדר על ידי משתמש באמצעות שיטת getClass()

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

תחביר
למטרה שצוינה, התחביר של ' getClass() ' השיטה ניתנת כ:

myclassObj. getClass ( ) == הכיתה שלי. מעמד

הנה ה ' getClass() השיטה נקראת על ידי ' myclassObj 'אובייקט של' הכיתה שלי ' ולאחר מכן השוו עם השם באמצעות אופרטור ההשוואה ' == '.

דוגמא
בדוגמה זו, יש לנו שלוש מחלקות בשם ' הכיתה שלי ', ' MynewClass ', ו' דוגמא ”, שבו MyClass פועלת ככיתה אב של MynewClass:

מעמד הכיתה שלי { }

ה ' MynewClass ' היא כיתת ילדים כפי שהיא מורחבת מ' הכיתה שלי ”:

מעמד MynewClass משתרע הכיתה שלי { }

בשיטת main() של המחלקה ' דוגמא ', נכריז וניצור אובייקט של מחלקת האב ' הכיתה שלי '. לאחר מכן בדוק אם האובייקט שנוצר שייך לאיזו מחלקה; הורה או ילד? לשם כך, נקרא ל' getClass() שיטת ' עם האובייקט שנוצר והשווה את הערך המתקבל עם שמות מחלקות אב וילד באמצעות תנאי if-else-if:

פּוּמְבֵּי מעמד דוגמא {
פּוּמְבֵּי סטָטִי בָּטֵל רָאשִׁי ( חוּט [ ] args ) {
MyClass myclassObj = חָדָשׁ הכיתה שלי ( ) ;
אם ( myclassObj. getClass ( ) == הכיתה שלי. מעמד ) {
מערכת . הַחוּצָה . println ( 'האובייקט 'myclassObj' הוא סוג של 'MyClass'' ) ;
} אַחֵר אם ( myclassObj. getClass ( ) == MynewClass. מעמד ) {
מערכת . הַחוּצָה . println ( 'האובייקט 'myclassObj' הוא סוג של 'MynewClass'' ) ;
}
}
}

הפלט מציין שהאובייקט ' myclassObj ' שייך לכיתת האב בשם ' הכיתה שלי ”:

עכשיו, לכו לחלק הבא!

שיטה 4: קבל סוג של אובייקט מחלקה מוגדר על ידי משתמש באמצעות אופרטור 'instanceof'.

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

תחביר
התחביר ניתן להלן:

myclassObj מופע של הכיתה שלי

הנה ה ' מופע של ' המפעיל יבדוק אם ' myclassObj ' הוא מופע של ' הכיתה שלי ' או שלא.

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

פּוּמְבֵּי מעמד דוגמא {
פּוּמְבֵּי סטָטִי בָּטֵל רָאשִׁי ( חוּט [ ] args ) {
MyClass myclassObj = חָדָשׁ הכיתה שלי ( ) ;
אם ( myclassObj מופע של הכיתה שלי ) {
מערכת . הַחוּצָה . println ( 'האובייקט 'myclassObj' הוא מופע של 'MyClass'' ) ;
} אַחֵר אם ( myclassObj מופע של MynewClass ) {
מערכת . הַחוּצָה . println ( 'האובייקט 'myclassObj' הוא מופע של 'MynewClass'' ) ;
}
}
}

הפלט הנתון מראה כי ' מופע של ' האופרטור אימת את סוג האובייקט כ' הכיתה שלי ”:

ריכזנו את כל השיטות הקשורות לקבלת סוג אובייקט ב-Java.

סיכום

כדי לקבל סוג של אובייקט ב-Java, אתה יכול להשתמש ב-' getClass() שיטת ' או ה' מופע של ' מפעיל. ניתן להשתמש בשיטות אלה כדי לבדוק סוגי אובייקטים עבור מחלקות מוגדרות מראש והן עבור מחלקות מוגדרות על ידי משתמש. השיטה getClass() מחזירה את שם המחלקה ואילו האופרטור 'instanceof' מחזיר ערך בוליאני, כאשר ' נָכוֹן ” מציין שהאובייקט שייך למחלקה שצוינה זו; אחרת, זה מחזיר ' שֶׁקֶר '. מאמר זה סיפק את כל השיטות לקבל את סוג האובייקט ב-Java.