Maison > Java > javaDidacticiel > Quelles sont les trois méthodes de réflexion Java

Quelles sont les trois méthodes de réflexion Java

小老鼠
Libérer: 2024-01-02 16:58:20
original
659 Les gens l'ont consulté

Trois méthodes de réflexion Java : 1. Récupérer l'objet Classe ; 2. Récupérer le constructeur, les champs et les méthodes de la classe ; 3. Appeler les méthodes et accéder aux champs par réflexion. Introduction détaillée : 1. Obtenir l'objet Class : Vous pouvez obtenir l'objet Class via l'une des trois méthodes suivantes : acquisition d'objet, acquisition du nom de classe et acquisition du nom complet de la classe, afin d'obtenir des informations sur la classe ; la méthode constructeur de la classe, Champs et méthodes : Grâce à l'objet Class, vous pouvez obtenir le constructeur, les champs et les méthodes de la classe 3. Appeler les méthodes et accéder aux champs par réflexion, etc.

Quelles sont les trois méthodes de réflexion Java

Le système d'exploitation de ce tutoriel : système Windows 10, ordinateur Dell G3.

En Java, la réflexion est un mécanisme puissant qui permet d'obtenir des informations sur la classe, d'appeler des méthodes de classe, d'accéder aux champs de classe, etc. Reflection propose trois méthodes principales pour implémenter ces opérations :

1. Obtenir l'objet Class : Vous pouvez utiliser l'une des trois méthodes suivantes pour obtenir l'objet Class afin d'obtenir des informations sur la classe.

Parcourir l'objet : utilisez la méthode getClass() de l'objet.

MyClass obj = new MyClass();
Class<?> myClass = obj.getClass();
Copier après la connexion

Obtenu par nom de classe : Utilisez l'attribut class du nom de classe.

Class<?> myClass = MyClass.class;
Copier après la connexion

Obtenu via le nom complet de la classe : utilisez la méthode Class.forName().

Class<?> myClass = Class.forName("com.example.MyClass");
Copier après la connexion

2. Récupérez le constructeur, les champs et les méthodes de la classe : Grâce à l'objet Class, vous pouvez obtenir le constructeur, les champs et les méthodes de la classe.

Obtenez le constructeur :

Constructor<?>[] constructors = myClass.getConstructors();
Copier après la connexion

Obtenez le champ :

Field[] fields = myClass.getDeclaredFields();
Copier après la connexion

Obtenez la méthode :

Method[] methods = myClass.getMethods();
Copier après la connexion

3. Appelez les méthodes et accédez aux champs par réflexion : en utilisant l'objet Method et l'objet Field, vous peut appeler les méthodes de classe et accéder aux valeurs des champs.

Méthodes d'appel :

Method myMethod = myClass.getMethod("methodName", parameterTypes);
myMethod.invoke(objectInstance, args);
Copier après la connexion

Accès aux champs :

Field myField = myClass.getDeclaredField("fieldName");
myField.setAccessible(true); // 如果字段是私有的,需要设置为可访问
Object fieldValue = myField.get(objectInstance);
Copier après la connexion

Ces trois méthodes offrent la flexibilité nécessaire pour obtenir des informations sur la classe, appeler des méthodes et accéder aux champs au moment de l'exécution. Cependant, sachez que les opérations de réflexion peuvent entraîner une surcharge de performances et nécessiter une gestion des exceptions lorsqu'elles sont utilisées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal