Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

Annotations Java expliquées : types, placement et exemples pratiques

Annotations Java expliquées

Découvrez ce que sont les annotations Java, comment elles sont catégorisées, et comment les appliquer efficacement avec des exemples clairs et réels.

Les annotations sont des métadonnées intégrées dans le code source qui transmettent des informations additionnelles au compilateur et, quand nécessaire, aux systèmes d'exécution. Elles ne font pas partie du bytecode exécuté, mais peuvent influencer la compilation, la génération de code et la réflexion.

Les annotations commencent toujours par le symbole @. La syntaxe la plus courante est :

@AnnotationName

L'annotation @Override en action

L'annotation @Override signale qu'une méthode est destinée à redéfinir une méthode de superclasse. Bien que non obligatoire, son utilisation permet au compilateur de signaler les erreurs comme les signatures incorrectes.

Exemple 1 : Annotation @Override

class Animal { public void displayInfo() { System.out.println("I am an animal."); } } class Dog extends Animal { @Override public void displayInfo() { System.out.println("I am a dog."); } } class Main { public static void main(String[] args) { Dog d1 = new Dog(); d1.displayInfo(); } } 

Sortie

I am a dog. 

Dans cet exemple, displayInfo() existe dans Animal et Dog. La méthode redéfinie dans Dog est exécutée, démontrant le polymorphisme.


Formats d'annotations

Les annotations peuvent inclure des membres (attributs). Elles sont groupées en trois catégories principales :

1. Annotations marqueurs

Elles ne contiennent aucun élément et sont utilisées uniquement comme drapeaux. Les parenthèses sont optionnelles.

@AnnotationName

2. Annotations à élément unique

Contiennent un élément, conventionnellement nommé value. Quand un seul élément est présent, son nom peut être omis.

@AnnotationName("elementValue")

3. Annotations multi-éléments

Incluent plusieurs éléments, séparés par des virgules.

@AnnotationName(element1 = "value1", element2 = "value2")

Où placer les annotations

Les annotations peuvent précéder toute déclaration : classes, méthodes, champs, interfaces, et plus. Depuis Java 8, elles peuvent aussi annoter des types.

1. Au-dessus des déclarations

Placement typique : directement au-dessus de la déclaration cible.

Exemple 2 : Annotation @SuppressWarnings

import java.util.*; class Main { @SuppressWarnings("unchecked") static void wordsList() { ArrayList wordList = new ArrayList<>(); // Cela cause un avertissement unchecked wordList.add("programiz"); System.out.println("Word list => " + wordList); } public static void main(String args[]) { wordsList(); } } 

Sortie

Word list => [programiz] 

Sans @SuppressWarnings("unchecked"), le compilateur émettrait un avertissement sur les opérations non-vérifiées. L'exemple démontre aussi comment les génériques atténuent cet avertissement :

ArrayList<String> wordList = new ArrayList<>();

2. Annotations de type (Java 8+)

Les annotations de type permettent d'annoter toute occurrence d'un type, améliorant l'analyse statique et la sécurité null.

// Invocation de constructeur new @Readonly ArrayList<>(); // Définition de type @NonNull String str; @NonNull List<String> newList; List<@NonNull String> newList; // Cast newStr = (@NonNull String) str; // Extends/implements class Warning extends @Localized Message // Clause throws public String readMethod() throws @Localized IOException 

Ces annotations permettent aux outils d'imposer des vérifications de type plus fortes et de prévenir les erreurs d'exécution comme NullPointerException.


Types d'annotations

  1. Annotations prédéfinies
    • @Deprecated
    • @Override
    • @SuppressWarnings
    • @SafeVarargs
    • @FunctionalInterface
  2. Méta-annotations
    • @Retention
    • @Documented
    • @Target
    • @Inherited
    • @Repeatable
  3. Annotations personnalisées

    Définissez des annotations spécifiques à votre domaine pour vos projets. Référez-vous au tutoriel Java Annotation Types pour des conseils.


Usages pratiques des annotations

Java

  1. Maîtriser les opérateurs Java : Types, syntaxe et exemples pratiques
  2. Commentaires Java : Types, utilisation et bonnes pratiques
  3. Maîtriser la boucle for améliorée en Java : Syntaxe, exemples et bonnes pratiques
  4. Maîtriser les chaînes de caractères en Java : Création, méthodes et bonnes pratiques
  5. Maîtriser les interfaces Java : concepts, implémentation et bonnes pratiques
  6. Maîtriser les classes internes anonymes en Java : définition, syntaxe et exemples pratiques
  7. Maîtriser le try-with-resources Java : gestion automatique des ressources expliquée
  8. Assertions Java : guide pratique pour détecter les bugs et assurer la fiabilité du code
  9. Comprendre Java Vector : Utilisation, Fonctionnalités et Comparaison avec ArrayList