Maison > Java > javaDidacticiel > le corps du texte

Quel est le principe et la fonction de la réflexion Java ?

PHPz
Libérer: 2023-04-26 23:31:06
avant
744 Les gens l'ont consulté

1. Le processus d'appel de la réflexion

(1)Phase de préparation : chargez toutes les classes lors de la compilation et enregistrez les méta-informations de chaque classe dans l'objet de classe Class. Chaque classe correspond à un objet Class

. ( 2) Obtenez l'objet Class : appelez x.class/x.getClass()/Class.forName() pour obtenir l'objet Class clz de x (les couches inférieures de ces méthodes sont toutes des méthodes natives, écrites en bas de la JVM, impliquant Nous n'explorerons pas la couche inférieure de la JVM pour l'instant)

(3)Effectuer une opération de réflexion réelle : Obtenez l'objet Champ/Méthode/Constructeur via l'objet clz pour d'autres opérations

2. Obtenez la classe class

Si vous souhaitez utiliser la réflexion Pour obtenir des informations sur une classe, vous devez d'abord obtenir l'instance de classe Class correspondant à la classe. L'instance de classe Class représente la classe et l'interface de l'application Java en cours d'exécution. La classe Class n'a pas de méthode de construction publique. L'objet de classe Class se trouve dans un flux d'octets binaires (généralement un fichier .class, qui peut également être obtenu via le réseau ou un package zip. Lorsqu'il est chargé par la JVM, il est appelé definitionClass(). ) de la méthode du chargeur de classe à construire.

/**
 * Instances of the class {@code Class} represent classes and
 * interfaces in a running Java application.
 * {@code Class} has no public constructor. Instead {@code Class}
 * objects are constructed automatically by the Java Virtual Machine as classes
 * are loaded and by calls to the {@code defineClass} method in the class
 * loader.
*/
 
public final class Class<T> implements java.io.Serializable,GenericDeclaration,Type,AnnotatedElement {
    ......
}
Copier après la connexion

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:yisu.com
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!