Πώς να χρησιμοποιήσετε τη μέθοδο Java.lang.Class.getMethod();

Pos Na Chresimopoiesete Te Methodo Java Lang Class Getmethod



Οι προγραμματιστές χρησιμοποιούν το ' java.lang.Class.getMethod() ” μέθοδος για την ανάκτηση ενός αντικειμένου που αντιπροσωπεύει μια συγκεκριμένη δημόσια μέθοδο που δηλώνεται από τις υπερκλάσεις. Αυτή η μέθοδος επιτρέπει τη δυναμική εξέταση και χειρισμό κλάσεων, διεπαφών, μεθόδων και άλλων οντοτήτων κατά το χρόνο εκτέλεσης. Αυτό σημαίνει ότι ο προγραμματιστής δεν χρειάζεται να γνωρίζει για τη γνώση του χρόνου μεταγλώττισης της δομής της τάξης.

Αυτός ο οδηγός προσφέρει μια λεπτομερή εξήγηση της χρήσης της μεθόδου java.lang.class.getMethod() στην Java.







Πώς να χρησιμοποιήσετε τη μέθοδο Java.lang.Class.getMethod();

Η μέθοδος getMethod() είναι μέρος του API ανάκλασης της Java, το οποίο προσφέρει στους προγραμματιστές να επιθεωρούν και να καλούν μεθόδους δυναμικά. Επιτρέπει στους προγραμματιστές να καλούν μεθόδους με διαφορετικά ονόματα ή υπογραφές ανάλογα με τις συνθήκες χρόνου εκτέλεσης.



Σύνταξη



Η σύνταξη για το ' getMethod() Η μέθοδος ' στη γλώσσα Java φαίνεται παρακάτω:





δημόσια Μέθοδος getMethod ( Συμβολοσειρά SelectedmethodName, Class [ ] Παράμετρος Τύπος )
ρίχνει NoSuchMethodException, SecurityException

Περιγραφή της παραπάνω σύνταξης:



  • Δέχεται δύο παραμέτρους που προσδιορίζουν το όνομα της επιλεγμένης μεθόδου και τον αντίστοιχο πίνακα τύπων παραμέτρου.
  • Επιστρέφει την ζητούμενη μέθοδο της κλάσης.
  • Αυτή η μέθοδος ρίχνει ' NoSuchMethodException ' και ' Εξαίρεση ασφαλείας Εξαιρέσεις ανάλογα με την κατάσταση

Τώρα, ας επισκεφτούμε το παρακάτω παράδειγμα, για να κατανοήσουμε καλύτερα τη μέθοδο Java.lang.Class.getMethod().

Παράδειγμα: Χρήση της μεθόδου getMethod().

Για να χρησιμοποιήσετε ένα « getMethod() ' μέθοδος για την ανάκτηση δεδομένων σχετικά με μια συγκεκριμένη μέθοδο, δείτε το παρακάτω μπλοκ κώδικα:

εισαγωγή java.util. * ;

Public class UseCase {
δημόσιο κενό μοναδικό ( ) { }
δημόσιο στατικό κενό κύριο ( Σειρά [ ] args ) // δημιουργία κύριας ( ) μέθοδος
ρίχνει ClassNotFoundException, NoSuchMethodException
{
Κατηγορία 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 ' και ' Εξαίρεση ασφαλείας ' μπορεί να πεταχτεί χρησιμοποιώντας το ' java.lang.Class.getMethod() 'μέθοδος. Αυτή η μέθοδος είναι πολύτιμη για δυναμική επίκληση μεθόδων και προγραμματισμό με βάση τον προβληματισμό. Και σε σενάρια όπου ο προγραμματιστής χρειάζεται να ανακαλύψει και να αλληλεπιδράσει με μεθόδους κατά το χρόνο εκτέλεσης. Αυτό είναι όλο, σχετικά με τη χρήση της μεθόδου java.lang.Class.getMethod() στην Java.