Maison >Java >javaDidacticiel >Tutoriel de réflexion JAVA très simple

Tutoriel de réflexion JAVA très simple

黄舟
黄舟original
2017-02-07 10:35:491526parcourir

Reflection peut charger dynamiquement des classes, instancier des objets et appeler des méthodes. Prenons maintenant l’exemple suivant pour expliquer.

1. Chargez la classe.

Class clazz = Class.forName("java.lang.String"); //Ce code obtient un objet de classe de la classe String. Le paramètre remplit le nom du package.

Si vous utilisez URLClassLoader, vous pouvez charger le package jar local ou distant et obtenir l'objet de classe spécifique via la méthode loadclass.

2. Instancier des objets.

Si l'objet est instancié via le constructeur par défaut, nous pouvons utiliser la méthode suivante de l'objet de classe pour obtenir un objet, tel que

clazz..newInstance();

Si en apportant Pour instancier un objet à l'aide du constructeur paramétré, vous pouvez utiliser le code suivant :

Constructor myConstructor = myClass.getConstructor(parameterTypes);//Obtenir un objet constructeur.

Où ParameterTypes est Class... ParameterTypes, tels que String.class, int.class, etc. Récupérez ensuite l'objet instancié via l'objet constructeur :

myConstructor.newInstance("xxx",123); remplissez les paramètres de construction spécifiques dans le constructeur.

Trois, appelez la méthode.

Méthode mezod = clazz.getMethod(methodName, ParameterTypes); Vous pouvez obtenir l'objet de la classe méthode, puis nous pouvons exécuter la méthode via la méthode d'invocation de mezod.

mezod.invoke(obj,"xxx",123);//Le premier paramètre est l'objet initiateur de cette méthode. Si null est renseigné, cela signifie que la méthode statique est appelée.

L'article est reproduit à partir de CSDN.NET. S'il y a des problèmes de droits d'auteur, veuillez nous contacter pour le supprimer

Ce qui précède est le contenu d'un didacticiel de réflexion JAVA très simple. contenu associé, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn