


Comment utiliser les fonctions de réflexion pour créer et appeler dynamiquement des objets en Java
Comment utiliser les fonctions de réflexion en Java pour la création et l'appel dynamiques d'objets
Introduction :
En programmation Java, la réflexion est une technologie puissante qui nous permet d'obtenir et de manipuler des informations de classe au moment de l'exécution. Parmi eux, la création dynamique et l’invocation d’objets constituent l’un des scénarios d’application importants de la réflexion. Cet article explique comment utiliser les fonctions de réflexion pour créer et appeler dynamiquement des objets en Java, et fournit des exemples de code spécifiques.
1. Aperçu de la réflexion :
La réflexion Java signifie que le programme exploite les attributs et méthodes pertinents de la classe cible via l'API de réflexion au moment de l'exécution. En l’absence de réflexion, il faut clairement connaître les informations spécifiques de la classe cible au moment de la compilation afin d’effectuer les opérations correspondantes. Avec la réflexion, nous pouvons obtenir et manipuler dynamiquement les informations sur la classe cible au moment de l'exécution, améliorant ainsi la flexibilité et l'évolutivité du programme.
2. Créer des objets en utilisant la réflexion :
En Java, vous pouvez créer un objet en utilisant la méthode newInstance() de la classe Class. Les étapes spécifiques sont les suivantes :
- L'obtention de l'objet Class de la classe cible peut être réalisée en utilisant la méthode Class.forName() ou en appelant directement l'attribut class de la classe cible.
Exemple de code :
Class<?> clazz = Class.forName("com.example.Person");
- Appelez la méthode newInstance() pour créer un objet.
Exemple de code :
Object obj = clazz.newInstance();
Grâce au code ci-dessus, nous pouvons créer dynamiquement une instance de la classe Person sans connaître à l'avance les informations spécifiques de la classe Person, ce qui améliore la flexibilité du programme.
3. Utilisez la réflexion pour appeler dynamiquement des méthodes objet :
La réflexion peut non seulement être utilisée pour créer des objets, mais peut également être utilisée pour appeler des méthodes objet. Voici un exemple d'appel d'une méthode par réflexion :
- Récupérez l'objet Class de la classe cible.
Exemple de code :
Class<?> clazz = Class.forName("com.example.Person");
- Obtenez l'objet Method de la méthode cible.
Exemple de code :
Method method = clazz.getMethod("setName", String.class);
- Appelez la méthode Invocation() de l'objet Method et transmettez l'objet cible et les paramètres pour appeler dynamiquement la méthode cible.
Exemple de code :
Object obj = clazz.newInstance(); method.invoke(obj, "Tom");
Grâce au code ci-dessus, nous pouvons appeler dynamiquement la méthode setName de la classe Person pour définir les propriétés de l'objet. Il n'est pas non plus nécessaire de connaître les informations spécifiques de la classe Person à l'avance.
4. Utilisez la réflexion pour obtenir et modifier les attributs d'un objet :
La réflexion peut également être utilisée pour obtenir et modifier les valeurs des attributs d'un objet. Voici un exemple d'utilisation de la réflexion pour obtenir et modifier des propriétés :
- Obtenez l'objet Class de la classe cible.
Exemple de code :
Class<?> clazz = Class.forName("com.example.Person");
- Obtenez l'objet champ de l'attribut cible.
Exemple de code :
Field field = clazz.getDeclaredField("age");
- Définissez un champ pour qu'il soit accessible afin que sa valeur puisse être obtenue et modifiée.
Exemple de code :
field.setAccessible(true);
- Utilisez les méthodes get() et set() de l'objet Field pour obtenir et modifier respectivement la valeur de l'attribut.
Exemple de code :
Object obj = clazz.newInstance(); int age = (int) field.get(obj); field.set(obj, age + 1);
Grâce au code ci-dessus, nous pouvons obtenir et modifier dynamiquement la valeur de l'attribut age de la classe Person, et il n'est pas nécessaire de connaître les informations spécifiques de la classe Person à l'avance.
Résumé :
Cet article explique comment utiliser les fonctions de réflexion pour créer et appeler dynamiquement des objets en Java. Grâce à l'exemple de code ci-dessus, les lecteurs peuvent comprendre l'utilisation de base de la réflexion et appliquer de manière flexible la technologie de réflexion dans le développement de projets réels pour améliorer la flexibilité et l'évolutivité du programme. Bien entendu, la réflexion doit être utilisée avec modération, car trop d'opérations de réflexion peuvent avoir un certain impact sur les performances du programme. Par conséquent, dans le développement réel, nous devons choisir raisonnablement d'utiliser ou non la technologie de réflexion en fonction de scénarios spécifiques.
Référence :
- Documentation officielle d'Oracle : https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/lang/reflect/Method.html
- Java Reflection (Zhihu) : https://zhuanlan.zhihu.com/p/149535966
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Version Mac de WebStorm
Outils de développement JavaScript utiles

Dreamweaver CS6
Outils de développement Web visuel

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.