Voilà un cours pas mal sur les annotations : https://www.jmdoudoux.fr//java/dej/chap-annotations.htm
Maintenant je ne sais pas ce qu'attends ton prof. S'il veut voir si tu as compris comment utiliser une annotation ou comment ça marche derrière.
Globalement, une annotation se positionne sur certains éléments (voir le @Target) et conserve les informations à un niveau donné (voir le @Retention).
Par exemple pour l'annotation @Deprecated :
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})
public @interface Deprecated {
}
@Deprecated s'utilise sur les constructeurs, les champs, les variables locales, les méthodes etc..
Les informations sont conservées dans le code source et le bytecode (= code compilé).
Toutes les annotations fonctionnent comme ça. Et tu peux définir tes propres annotations de la même façon 
Message édité le 28 mai 2017 à 10:06:01 par HowItWorks