recherche
MaisonJavajavaDidacticielMéthodes d'appel couramment utilisées dans la réflexion Java

Méthodes d'appel couramment utilisées dans la réflexion Java

Dec 23, 2023 am 09:49 AM
反射(reflection)java编程(java programming)Méthode d'appel

Méthodes dappel couramment utilisées dans la réflexion Java

Les méthodes d'appel couramment utilisées dans la réflexion Java nécessitent des exemples de code spécifiques

Introduction :
La réflexion Java est une fonctionnalité puissante du langage Java, qui nous permet d'obtenir dynamiquement des informations sur les classes et d'exploiter les classes au moment de l'exécution. Propriétés, méthodes, constructeurs, etc. . En Java, en utilisant la réflexion, nous pouvons réaliser de nombreuses fonctions, telles que la création dynamique d'objets, l'appel de méthodes et la modification de propriétés privées. Cet article présentera les méthodes d'appel couramment utilisées en réflexion en Java et fournira des exemples de code spécifiques.

  1. Obtenir l'objet Class
    Avant d'utiliser la réflexion, vous devez d'abord obtenir l'objet Class de la classe sur laquelle opérer. L'objet Class peut être obtenu des trois manières suivantes :
    1.1 En utilisant la méthode getClass() de l'objet
    Par exemple, si nous avons un objet nommé "exemple", nous pouvons utiliser le code suivant pour obtenir son objet Class :

    Class<?> clazz = example.getClass();

    1.2 Utilisation de la syntaxe de classe .
    Si nous utilisons le nom de la classe directement pour obtenir l'objet Class, nous pouvons utiliser la syntaxe suivante :

    Class<?> clazz = Example.class;

    1.3 Utilisez la méthode Class.forName()
    Si nous ne connaissons que le nom de la classe. , nous pouvons utiliser le code suivant pour obtenir l'objet Class :

    Class<?> clazz = Class.forName("com.example.Example");
  2. Créer des objets
    Utilisez la réflexion pour créer dynamiquement des objets au moment de l'exécution. Un exemple d'objet peut être créé par le code suivant :

    Example example = (Example) clazz.getDeclaredConstructor().newInstance();

    Ici, nous supposons que Exemple est le nom de la classe que nous voulons créer.

  3. Obtention des variables membres d'une classe
    Vous pouvez utiliser la réflexion pour obtenir les variables membres d'une classe. Le code suivant montre comment obtenir une variable membre privée d'une classe et modifier sa valeur :

    Field field = clazz.getDeclaredField("privateField");
    field.setAccessible(true);
    field.set(example, "new value");

    Dans l'exemple, "privateField" est une variable membre privée de la classe Exemple. Tout d’abord, récupérez l’objet Field de la variable membre en appelant la méthode getDeclaredField(), puis définissez-le pour qu’il soit accessible et enfin utilisez la méthode field.set() pour modifier sa valeur.

  4. Appel de méthodes
    Vous pouvez utiliser la réflexion pour appeler les méthodes d'une classe. Voici un exemple de code qui montre comment appeler la méthode publique de la classe :

    Method method = clazz.getMethod("publicMethod", String.class);
    method.invoke(example, "parameter");

    Dans l'exemple, "publicMethod" est une méthode publique de la classe Exemple. Tout d’abord, récupérez l’objet Method de la méthode en appelant la méthode getMethod(), puis utilisez la méthode method.invoke() pour appeler la méthode.

  5. Appel de méthodes privées
    Par réflexion, nous pouvons également appeler des méthodes privées d'une classe. Le code suivant montre comment appeler une méthode privée d'une classe :

    Method method = clazz.getDeclaredMethod("privateMethod");
    method.setAccessible(true);
    method.invoke(example);

    Dans l'exemple, "privateMethod" est une méthode privée de la classe Exemple. Tout d’abord, récupérez l’objet Method de la méthode en appelant la méthode getDeclaredMethod(), puis rendez-le accessible et enfin utilisez la méthode method.invoke() pour appeler la méthode.

Résumé :
Grâce à la réflexion, nous pouvons obtenir dynamiquement des informations sur la classe et exploiter les attributs de classe, les méthodes, les constructeurs, etc. au moment de l'exécution. Cet article présente les méthodes d'appel couramment utilisées en réflexion en Java et fournit des exemples de code spécifiques. L'utilisation de la réflexion peut apporter une grande commodité à notre développement, mais une utilisation excessive de la réflexion peut également entraîner des problèmes de lisibilité et de performances du code, une attention particulière est donc nécessaire lors de l'utilisation de la réflexion.

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP