Le mécanisme de réflexion Java permet d'explorer le réflecteur lui-même et vous pouvez obtenir des annotations sur l'objet Méthode par réflexion, y compris le type et la valeur de l'annotation.
Le mécanisme de réflexion Java est utilisé dans le réflecteur lui-même
Le mécanisme de réflexion Java permet aux programmes d'inspecter et de modifier la structure d'une classe au moment de l'exécution, mais est rarement utilisé pour explorer le mécanisme de réflexion lui-même. Cet article va montrer à partir d'un cas pratique comment utiliser le mécanisme de réflexion pour étudier le fonctionnement du réflecteur.
Cas : Obtenez l'Annotation
sur l'objet Method
Method
对象上的 Annotation
我们可以使用反射来获取 Method
对象上附加的注解。以下是示例代码:
import java.lang.annotation.Annotation; import java.lang.reflect.Method; public class Main { public static void main(String[] args) { try { // 获取 Method 对象 Method method = Main.class.getMethod("annotatedMethod"); // 使用反射获取注解 Annotation[] annotations = method.getAnnotations(); // 遍历并打印注解 for (Annotation annotation : annotations) { System.out.println(annotation); } } catch (NoSuchMethodException e) { e.printStackTrace(); } } @MyAnnotation("Hello, World!") public void annotatedMethod() { } }
结果:
@MyAnnotation(value=Hello, World!)
解析:
Main.class.getMethod("annotatedMethod")
获取 Main
类的 annotatedMethod
方法的 Method
对象。method.getAnnotations()
获取该方法上的所有注解,并将其存储在 annotations
数组中。annotations
数组,并打印每个注解的类型和值。这个示例展示了如何使用反射机制来获取 Method
Method
. Voici l'exemple de code : Main.class.getMethod("annotatedMethod")
pour obtenir Main
L'objet Method
de la méthode annotatedMethod
de la classe. 🎜🎜Ensuite, nous utilisons method.getAnnotations()
pour obtenir toutes les annotations sur la méthode et les stocker dans le tableau annotations
. 🎜🎜Enfin, nous parcourons le tableau annotations
et imprimons le type et la valeur de chaque annotation. 🎜🎜🎜Cet exemple montre comment utiliser le mécanisme de réflexion pour obtenir des annotations sur un objet Method
. Le même principe peut être utilisé pour explorer tout autre aspect du mécanisme de réflexion, par exemple : 🎜🎜🎜 Récupérer la classe parent et l'interface de la classe 🎜🎜 Récupérer le type et la valeur du champ 🎜🎜 Modifier les propriétés de la classe ( tels que les droits d'accès) 🎜🎜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!