Annotations ont été ajoutés au langage Java en Java 1.5 et peut facilement ajouter une toute nouvelle programmation régulière dynamique . Autrement dit , les annotations sont une manière d'ajouter des métadonnées à des aspects différents d'une classe , d'information supplémentaire qui peut être utilisé pour changer la façon dont la classe se comporte ou simplement de décrire davantage dans les mœurs pas facilement applicables par des moyens classiques. Utilisation d'annotations
annotations sont extrêmement simples à utiliser, et peut être appliqué à de multiples domaines de votre code. Un exemple de certains annotation d'usage serait:
@ obsolète
public class MyClass ...
qui marquerait la classe comme « obsolète» , ce qui signifie qu'il ne devrait pas être utilisé si possible . Une autre annotation utile à des fins démonstratives sont les SuppressWarnings annotation :
@ SuppressWarnings ( «inutilisées» )
somethingWithUnusedVariables public void () { ....
Avec cet exemple , vous pouvez voir que vous pouvez transmettre des informations à l'annotation - dans ce cas, le genre de mises en garde à supprimer - qui peut ensuite être utilisé par différents outils, tels que le compilateur
ce qui est. une annotation ?
Dans le code Java, une annotation est un peu plus d'une interface régulière. Créer un est extrêmement simple:
publique @ Interface MyAnnotation {
}
Cette nouvelle annotation peut être utilisé n'importe où, comme pour décorer une classe :
< p > @ MyAnnotation
SomeClass public class ...
Bien sûr , dans cette forme , c'est plutôt inutile - il ne contient pas de données et par défaut, toutes les annotations sont stockées avec le fichier de classe , mais sont pas accessible lors de l'exécution , de sorte qu'ils servent un peu plus d' un commentaire supplémentaire.
Création d'annotations utiles
comme indiqué précédemment, par des annotations par défaut ne sont pas disponibles à runtime . C'est très bien si vous êtes tout simplement en l'utilisant comme un marqueur d'une sorte pour les autres développeurs de prendre note , ou si vous allez faire un certain traitement bytecode niveau, mais dans le but d'accéder à votre annotation à l'exécution ( par réflexion ), vous devez dire au compilateur de le faire. Vous pouvez faire cela avec annotation anotherent que vous appliquez à votre nouvelle annotation :
@ rétention ( RetentionPolicy.RUNTIME )
Cela vous permettra d'accéder aux informations d'annotation - par la réflexion - tout en votre code est exécuté et le traiter en conséquence.
lecture des informations d'annotation
lecture des informations annotation lors de l'exécution est un peu difficile , mais pas impossible . En utilisant la fonctionnalité de réflexion de Java, vous pouvez obtenir les annotations qui sont appliqués à une classe, une méthode ou un champ , ainsi que de toute information contenue dans cette annotation. Par exemple, considérez la simple annotation suivante:
@ rétention ( RetentionPolicy.RUNTIME )
publique @ Interface Auteur {
de valeur String
();
}
appliqué à une classe comme ceci:
@ Auteur (" John Doe" )
public class MyClass {...
Vous pouvez obtenir l' information de l'auteur avec le code suivant :
finale Auteur author = MyClass.class.getAnnotation ( Author.class ) ;
System.out.println ( author.value ()); < br >