כיצד להשתמש בשיטת Java.lang.Class.getMethod()?

Kyzd Lhstms Bsytt Java Lang Class Getmethod



מתכנתים משתמשים ב' java.lang.Class.getMethod() ” שיטה לאחזר אובייקט המייצג שיטה ציבורית ספציפית שהוכרזה על ידי מחלקות העל. שיטה זו מאפשרת בחינה דינמית ומניפולציה של מחלקות, ממשקים, שיטות וישויות אחרות בזמן ריצה. המשמעות היא שהמתכנת לא צריך לדעת על הידע בזמן ההידור של מבנה הכיתה.

מדריך זה מציע הסבר מפורט על השימוש בשיטת java.lang.class.getMethod() ב-Java.







כיצד להשתמש בשיטת Java.lang.Class.getMethod()?

שיטת getMethod() היא חלק מה-Reflection API של Java, המציע למתכנתים לבדוק ולהפעיל שיטות באופן דינמי. זה מאפשר למתכנתים לקרוא לשיטות עם שמות או חתימות שונות בהתאם לתנאי זמן הריצה.



תחביר



התחביר עבור ' getMethod() השיטה בשפת Java מוצגת להלן:





שיטה ציבורית getMethod ( מחרוזת selectmethodName, Class [ ] parameterType )
זורק את NoSuchMethodException, SecurityException

תיאור התחביר לעיל:



  • הוא מקבל שני פרמטרים המזהים את שם השיטה שנבחרה ואת מערך סוג הפרמטר המתאים.
  • זה מחזיר את השיטה המבוקשת של המחלקה.
  • שיטה זו זורקת ' NoSuchMethodException ' ו' SecurityException ' חריגים לפי המצב

כעת, הבה נבקר בדוגמה שלהלן, כדי לקבל הבנה טובה יותר של שיטת Java.lang.Class.getMethod()‎.

דוגמה: שימוש בשיטת getMethod()

כדי להשתמש ב' getMethod() ' שיטה לאחזור נתונים על שיטה ספציפית, ראה בלוק הקוד שלהלן:

ייבוא ​​java.util. * ;

UseCase בכיתה ציבורית {
חלל ציבורי ייחודי ( ) { }
ריק סטטי ציבורי ראשי ( חוּט [ ] args ) // יצירת ראשי ( ) שיטה
זורק ClassNotFoundException, NoSuchMethodException
{
Class newcl = Class.forName ( 'UseCase' ) ;
System.out.println ( 'מחלקה מזוהה על ידי newcl: ' ' + newcl.toString ( ) + ''' ) ;

מחרוזת mname = 'ייחודי' ;
מעמד [ ] pType = null;
// תוך שימוש ב-getMethod ( ) שיטה
System.out.println ( ''' + אני שמח + '' שיטת newcl: ' ' + newcl.getMethod ( mname, pType ) + ''' ) ;
}
}

תיאור של בלוק הקוד לעיל:

  • ראשית, צור כיתה בשם ' UseCase ', ולהכריז על שיטה ציבורית בשם ' ייחודי() '.
  • לאחר מכן, הכריז על שני חריגים שיכולים להיזרק על ידי התוכנית בתוך ' רָאשִׁי() ' שיטה.
  • כעת, השתמש ב' forName() 'שיטה לאחזר את המחלקה' UseCase '. לאחר מכן, החזר את אובייקט המחלקה המקושר לשם המחלקה שסופק והצג את המחלקה שאוחזרה במסוף.
  • לאחר מכן, אחסן את שם השיטה הנדרש כערך ב-' שַׂמֵחַ 'משתנה. כמו כן, הגדר את הערך של ' ריק ' אל ה ' pType ' משתנה המציין שלשיטה שעומדת לאחזר אין פרמטרים כלשהם.
  • לאחר מכן, התקשר ל' getMethod() שיטת ' באמצעות ' גַרעִינִי ' אובייקט והעבירו את המשתנים 'mname' ו-'pType' כפרמטר. בסופו של דבר, מדגיש את המידע על השיטה הרצויה בקונסולה.

לאחר סיום שלב הביצוע:

תמונת המצב מראה ששיטת getMethod() משמשת לאחזור מידע המתודה שנבחר.

סיכום

שלושה יוצאי דופן' NoSuchMethodException ', ' NullPointerException ' ו' SecurityException ניתן לזרוק על ידי שימוש ב- java.lang.Class.getMethod() ' שיטה. שיטה זו היא בעלת ערך עבור הפעלת שיטה דינמית, ותכנות מבוסס השתקפות. ובתרחישים שבהם המתכנת צריך לגלות ולקיים אינטראקציה עם שיטות בזמן ריצה. זה הכל, לגבי השימוש בשיטת java.lang.Class.getMethod() ב-Java.