Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

Java Annotations erklärt: Typen, Platzierung und praktische Beispiele

Java Annotations erklärt

Entdecken Sie, was Java Annotations sind, wie sie kategorisiert werden und wie Sie sie effektiv mit klaren, realitätsnahen Beispielen anwenden.

Annotations sind Metadaten, die im Quellcode eingebettet sind und zusätzliche Informationen an den Compiler und, wenn nötig, an Laufzeitsysteme vermitteln. Sie werden nicht Teil des ausgeführten Bytecodes, können aber Kompilierung, Codegenerierung und Reflection beeinflussen.

Annotations beginnen immer mit dem @-Symbol. Die gängigste Syntax ist:

@AnnotationName

Die @Override Annotation in Aktion

Die @Override-Annotation signalisiert, dass eine Methode eine Oberklassen-Methode überschreiben soll. Obwohl nicht zwingend, erlaubt ihre Verwendung dem Compiler, Missmatches wie inkorrekte Signaturen zu kennzeichnen.

Beispiel 1: @Override Annotation

class Tier { public void infoAnzeigen() { System.out.println("Ich bin ein Tier."); } } class Hund extends Tier { @Override public void infoAnzeigen() { System.out.println("Ich bin ein Hund."); } } class Haupt { public static void main(String[] args) { Hund d1 = new Hund(); d1.infoAnzeigen(); } } 

Ausgabe:

Ich bin ein Hund. 

In diesem Beispiel existiert infoAnzeigen() sowohl in Tier als auch in Hund. Die überschriebene Methode in Hund wird ausgeführt, was Polymorphie demonstriert.


Annotation-Formate

Annotations können Member (Attribute) enthalten. Sie werden in drei Hauptkategorien gruppiert:

1. Marker-Annotations

Diese enthalten keine Elemente und dienen ausschließlich als Flags. Klammern sind optional.

@AnnotationName

2. Single-Element-Annotations

Enthalten ein Element, konventionell value genannt. Wenn nur ein Element vorhanden ist, kann dessen Name weggelassen werden.

@AnnotationName("elementWert")

3. Multi-Element-Annotations

Enthalten mehrere Elemente, durch Kommas getrennt.

@AnnotationName(element1 = "wert1", element2 = "wert2")

Wo Annotations platzieren

Annotations können jeder Deklaration vorangestellt werden: Klassen, Methoden, Felder, Schnittstellen und mehr. Seit Java 8 können sie auch Typen annotieren.

1. Über Deklarationen

Typische Platzierung: direkt über der Zielddeclaration.

Beispiel 2: @SuppressWarnings Annotation

import java.util.*; class Haupt { @SuppressWarnings("unchecked") static void wortListe() { ArrayList wortListe = new ArrayList<>(); // Dies verursacht unchecked Warning wortListe.add("programiz"); System.out.println("Wort Liste => " + wortListe); } public static void main(String args[]) { wortListe(); } } 

Ausgabe:

Wort Liste => [programiz] 

Ohne @SuppressWarnings("unchecked") würde der Compiler eine Warnung über unchecked Operationen ausgeben. Das Beispiel demonstriert auch, wie Generics diese Warnung mildern:

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

2. Type Annotations (Java 8+)

Type Annotations erlauben Ihnen, jede Vorkommen eines Typs zu annotieren, was statische Analyse und Null-Sicherheit verbessert.

// Konstruktoraufruf new @Readonly ArrayList<>(); // Typdefinition @NonNull String str; @NonNull List<String> neueListe; List<@NonNull String> neueListe; // Type Cast newStr = (@NonNull String) str; // Extends/implements class Warnung extends @Localized Nachricht // Throws-Klausel public String leseMethode() throws @Localized IOException 

Diese Annotations befähigen Tools, strengere Typprüfungen durchzusetzen und Laufzeitfehler wie NullPointerException zu verhindern.


Arten von Annotations

  1. Vordefinierte Annotations
    • @Deprecated
    • @Override
    • @SuppressWarnings
    • @SafeVarargs
    • @FunctionalInterface
  2. Meta-Annotations
    • @Retention
    • @Documented
    • @Target
    • @Inherited
    • @Repeatable
  3. Benutzerdefinierte Annotations

    Definieren Sie domänenspezifische Annotations für Ihre Projekte. Siehe Java Annotation Types Tutorial für Anleitung.


Praktische Anwendungen von Annotations

Java

  1. Java Operatoren meistern: Typen, Syntax und praktische Beispiele
  2. Java Kommentare: Typen, Verwendung und Best Practices
  3. Java if…else meistern: Kontrollfluss erklärt
  4. Java Enhanced For-Schleife meistern: Syntax, Beispiele und Best Practices
  5. Java Strings meistern: Erstellung, Methoden und Best Practices
  6. Java-Schnittstellen meistern: Konzepte, Implementierung und Best Practices
  7. Java anonyme innere Klassen meistern: Definition, Syntax und praktische Beispiele
  8. Java Try-With-Resources meistern: Automatisches Ressourcenmanagement erklärt
  9. Java Assertions: Praktischer Leitfaden zur Fehlererkennung und Code-Reliabilität
  10. Java Vector verstehen: Verwendung, Funktionen und Vergleich mit ArrayList