Introduzione Annotazioni in Java

Le annotazioni sono state introdotte o sono diventate disponibili nella versione 1.5 di Java Development Kit (JDK). Le annotazioni in Java forniscono ulteriori informazioni sui dati presenti nella struttura del codice, ovvero sono dati su dati noti anche come metadati.

Cosa sono le annotazioni in Java?

Le annotazioni aiutano a definire i metadati nel codice in modo standardizzato. Inoltre, le annotazioni aiutano a fornire istruzioni al compilatore java da seguire durante la compilazione del codice java.

Quando si usano le annotazioni, usiamo il segno '@' e quindi seguito dal nome della tua annotazione, in modo che il compilatore la consideri come un'annotazione. È importante notare che le annotazioni possono essere aggiunte prima-

  • Una dichiarazione di classe
  • Una dichiarazione di variabile membro
  • Una dichiarazione del costruttore
  • Una dichiarazione di metodo
  • Una dichiarazione di parametro
  • Una dichiarazione di variabile locale.

Punti importanti da ricordare sono che tutte le annotazioni estendono l'interfaccia java.lang.annotation.Annotation. Inoltre, le annotazioni non possono includere alcuna clausola di estensione.

Annotazioni Java integrate

In Java, ci sono annotazioni integrate come @Override, @Deprecated, @SuppressWarnings progettate per uno scopo specifico e utilizzate in una delle situazioni di cui sopra, ad esempio solo per la classe o solo per il metodo, eccetera.

Esempio n. 1 -Override

class Dad (
public void say() (
System.out.println("Do your homework");
)
)
public class Child extends Dad (
@Override
public void say()(
System.out.println("I wanna play");
)
public static void main(String args())(
Dad daddy = new Child();
daddy.say();
)
)

Produzione

Esempio n. 2: obsoleto

public class Outdated
(
@Deprecated
public void oldShow()
(
System.out.println("This Method is deprecated"); )
public static void main(String args())
(
Outdated od = new Outdated ();
od.oldShow();
)
)

Produzione

Meta annotazioni

Esistono cinque tipi di meta-annotazioni:

  1. Documentato: informa che il membro, la variabile o la classe che utilizza questa annotazione deve essere documentata da Javadoc o altri strumenti simili disponibili.
  2. Target: viene utilizzato per specificare il tipo di annotazione utilizzata. Viene utilizzato principalmente insieme alle annotazioni personalizzate.
  3. Ereditato: contrassegna l'annotazione da ereditare nella sottoclasse.
  4. Conservazione: indica per quanto tempo devono essere conservate le annotazioni con il tipo annotato. Accetta l'argomento del criterio di conservazione i cui valori possibili sono: SOURCE, CLASS e RUNTIME.
  5. Ripetibile: informa che i tipi di annotazione di cui annota la dichiarazione sono ripetibili.

Esempio: documentazione e conservazione

import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@interface RSample (
String rentent();
)
@Documented
@interface DSample (
String doc();
)
public class MetaAnnotate (
public static void main(String arg())
(
new MetaAnnotate().rentent();
new MetaAnnotate().doc();
)
@RSample (rentent="Meta Info R")
public void rentent() (
System.out.println("Retention Policy Applied");
)
@DSample(doc="Meta Info D")
public void doc() (
System.out.println("Code Documented with the value");
)
)

Produzione

Spiegazione

RetentionPolicy.RUNTIME - Questo valore specifica che il valore di annotazione dovrebbe essere disponibile in fase di esecuzione, per l'ispezione tramite java reflection.

Esegui il comando Javadoc per visualizzare la documentazione del tuo codice.

Tipi di annotazioni

Esistono tre categorie di annotazioni e sono le seguenti:

1. Annotazioni dei marcatori: questi tipi di annotazioni vengono utilizzati come dichiarazione per informare lo sviluppatore di cosa tratta la funzione o la classe di seguito, ovvero condivide informazioni aggiuntive sulla funzione o sulla classe, ad esempio se la funzione ha la precedenza su un'altra funzione o è deprecata, ecc. @Override, @Deprecated sono considerati annotazioni dei marker.

Esempio: DemoAnnotation ()

2. Annotazioni a valore singolo: questo tipo di annotazione assume valore per specificare quel valore per quel membro per il quale l'annotazione è posta di fronte e quindi, non è necessario specificare il nome di quel membro.

Esempio: DemoAnnotation (“custId123”)

3. Annotazioni complete: questo tipo di annotazione include più valori, coppie, membri.

Esempio: DemoAnnotation (categoria = "Giocattoli", valore = 1500)

costume

Le annotazioni personalizzate vengono create dall'interfaccia utente, seguita da un nome di annotazione, come vedremo nell'esempio seguente.

File 1: Annotazione personalizzata definita

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target((ElementType.TYPE, ElementType.METHOD))
@Retention(RetentionPolicy.RUNTIME)
@interface Magicians
(
String Wizard() default "Reynolds";
String House() default "Green";
)
@Magicians
public class Magician
(
@Magicians(Wizard = "Harry Potter", House = "Red")
public String getString() ( return null; )
)

File 2: classe principale che chiama la classe di annotazione personalizzata

import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedElement;
import java.lang.reflect.Method;
public class MyCustomAnnotation
(
public static void main(String() args) throws NoSuchMethodException, SecurityException
(
new Magician();
Class magic = Magician.class;
readAnnotationOn(magic);
Method method = magic.getMethod("getString", new Class()());
readAnnotationOn(method);
)
static void readAnnotationOn(AnnotatedElement element)
(
try
(
System.out.println("\n Find annotations on " + element.getClass().getName());
Annotation() annotations = element.getAnnotations();
for (Annotation annotation : annotations)
(
if (annotation instanceof Magicians)
(
Magicians mData = (Magicians) annotation;
System.out.println("Wizard Name :" + mData.Wizard());
System.out.println("Wizard House Color :" + mData.House());
)
)
) catch (Exception e)
(
e.printStackTrace();
)
)
)

Produzione

Conclusione

In questo articolo, abbiamo imparato cosa sono le annotazioni Java e i loro tipi con esempi, insieme abbiamo visto esempi di annotazioni integrate fornite da Java e abbiamo codificato le nostre annotazioni personalizzate.

Abbiamo appreso che le annotazioni sono utili per standardizzare il codice e aiutano anche a comprendere meglio il codice e la sua struttura.

Articoli consigliati

Questa è una guida alle annotazioni Java. Qui discutiamo come Annotazioni Java integrate con gli esempi e gli output forniti. Puoi anche dare un'occhiata ai seguenti articoli per saperne di più -

  1. Variabili in Java
  2. Modelli in Java
  3. Ordinamento rapido in Java
  4. I migliori compilatori Java
  5. instanceOf in Java con esempio

Categoria: