Le mécanisme de réflexion Java est implémenté via les mécanismes suivants : L'API Reflection fournit des interfaces et des classes pour accéder et manipuler les données réfléchies. La JVM maintient une structure de données interne qui contient des métadonnées pour toutes les classes chargées. Le mécanisme de réflexion effectue des opérations d'introspection en accédant à ces données.
Principe du mécanisme de réflexion Java
Le mécanisme de réflexion Java permet aux programmes d'inspecter et de modifier la structure et le comportement des classes Java au moment de l'exécution. Il fournit une capacité d'introspection qui nous permet de charger des classes, de créer des objets, d'appeler des méthodes et d'obtenir ou de définir des valeurs de champ.
Principe
Le mécanisme de réflexion est implémenté via le mécanisme suivant :
Class
et Method code>, avec pour accéder et manipuler les données réfléchies.
Class
和 Method
,用于访问和操作反射数据。使用方式
要使用反射机制,需要使用 Class
类。Class
对象表示正在检查或修改的类。可以如下方式获取 Class
对象:
ClassName.class
,例如:String.class
Class.forName("ClassName")
Object.getClass()
实战案例
以下是一个通过反射机制创建对象并调用其方法的示例:
import java.lang.reflect.Class; import java.lang.reflect.Method; public class ReflectionDemo { public static void main(String[] args) throws Exception { // 获取 String 类 Class<?> stringClass = String.class; // 创建 String 对象 Object stringObject = stringClass.newInstance(); // 获取 concat 方法 Method concatMethod = stringClass.getMethod("concat", String.class); // 调用 concat 方法 String result = (String) concatMethod.invoke(stringObject, "World"); // 打印结果 System.out.println(result); // 输出: HelloWorld } }
在这个示例中,我们通过 String.class
获取 String
类的 Class
对象。然后,使用 newInstance()
创建一个 String
对象。接着,获取 concat()
方法的 Method
Class
. L'objet Class
représente la classe en cours d'inspection ou de modification. L'objet Class
peut être obtenu comme suit : 🎜🎜🎜via ClassName.class
, par exemple : String.class
🎜via Class.forName("ClassName")
🎜Par Object.getClass()
🎜🎜Cas pratique🎜🎜🎜Ce qui suit est une réflexion Exemple de mécanisme créant un objet et appelant ses méthodes : 🎜rrreee🎜Dans cet exemple, nous obtenons l'objet Class
de la classe String
via String. classe
. Ensuite, utilisez newInstance()
pour créer un objet String
. Ensuite, récupérez l'objet Method
de la méthode concat()
et appelez-le, en passant un argument et en obtenant le résultat. 🎜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!