Bien! J'apprends vraiment quelque chose de nouveau dans l'interview. Une entreprise vient de passer un test, mais je suis très surpris de savoir pourquoi la position du développeur Web a réellement répondu à la question du mécanisme de réflexion Java, mais c'est une bonne chose pour moi d'apprendre et d'étudier le mécanisme de réflexion!
Parlons de ce qu'est le mécanisme de réflexion Java. Dans l'état de course, pour n'importe quelle classe, vous pouvez connaître toutes les propriétés et méthodes de cette classe; Pour tout objet, vous pouvez appeler n'importe quelle méthode de ses informations obtenues dynamiquement et la fonction d'appeler dynamiquement les méthodes d'objet est appelée mécanisme de réflexion du langage Java. Fonctions principales: juger la classe à laquelle tout objet appartient à l'exécution; construire les objets de n'importe quelle classe lors de l'exécution; juger les variables des membres et les méthodes de toute classe lors de l'exécution; Appelez les méthodes de tout objet lors de l'exécution; générer un proxy dynamique.
Puis laissez un autre exemple.
package com.beidou.test; import java.lang.reflect.method; public class dynamic {public static void main (String [] args) lève une exception {classe c = dynamic.class; // Obtenir la méthode de l'objet [] méthodes = c.getDeclaredMethods (); // Obtenir la méthode pour (méthode de la méthode) {System.out.out.Print (méthode. Nom Class [] ParameterTypes = Method.GetParAmEterTypes (); for (int i = 0; i <paramètreTypes.Length; i ++) {String nameString = ParameterTypes [i] .getName (); System.out.print ("ParameterType:" + NameString); // Imprimer la méthode Type de paramètre} System.out.print ("returnType:" + Method.GetReturnType ()); System.out.println (); } Objet obj = c.newinstance (); // Obtenez l'objet de méthode, en supposant que le paramètre de la méthode est une méthode int, string, est appelée méthode Getage sage = c.getMethod ("getage", new class [] {int.class, string.class}); // Get Paramètres Object Object [] Arguments = New Object [] {New Integer (23), New String ("ABC")}; // Exécuter la méthode String S = (String) sage.invoke (obj, arguments); System.out.print (s); } public String Getage (Int Age, Nom de la chaîne) {Nom de retour + ":" + Age; }}Le mécanisme de réflexion Java ci-dessus - la méthode simple d'appel dynamiquement des objets est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.