Introducere Adnotări în Java

Adnotările au fost introduse sau au devenit disponibile în versiunea 1.5 a Java Development Kit (JDK). Adnotările din Java oferă mai multe informații despre datele prezente în structura codului, adică sunt date despre date cunoscute și sub numele de metadate.

Ce sunt adnotările în Java?

Adnotările ajută la definirea metadatelor în cod într-o manieră standardizată. De asemenea, adnotările ajută la furnizarea instrucțiunilor compilatorului tău java de urmat în timp ce compilezi codul java.

Când utilizăm adnotările, folosim semnul „@” și apoi urmăm numele adnotării dvs., astfel încât compilatorul să o trateze ca o adnotare. Este important să rețineți că adnotările pot fi adăugate înainte-

  • O declarație de clasă
  • O declarație de membru variabilă
  • O declarație de constructor
  • O declarație de metodă
  • O declarație de parametru
  • O declarație de variabilă locală.

Punctele importante de reținut sunt că toate adnotările extind interfața java.lang.annotation.Anotation. De asemenea, adnotările nu pot include nicio clauză de extindere.

Adnotări Java încorporate

În Java, există adnotări încorporate, cum ar fi @Override, @Deprecated, @SuppressWarnings, care sunt proiectate pentru un scop specific și utilizate în una dintre situațiile de mai sus, de exemplu, numai pentru clasă sau numai pentru metodă, etc.

Exemplul nr. 1 - Supraveghere

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();
)
)

producție

Exemplul # 2 -Recordat

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();
)
)

producție

Adnotări Meta

Există cinci tipuri de meta-adnotări:

  1. Documentat - Informează că membrul sau variabila sau clasa care folosește această adnotare trebuie să fie documentată de Javadoc sau de orice alte instrumente similare disponibile.
  2. Țintă - este utilizat pentru a specifica la ce tip se utilizează adnotarea. Este folosit mai ales împreună cu adnotările dvs. personalizate.
  3. Moștenit - marchează adnotarea care trebuie moștenită la subclasă.
  4. Păstrarea - indică cât timp trebuie păstrate adnotările cu tipul adnotat. Este nevoie de argumentul Politicii de păstrare ale cărui valori posibile sunt: ​​SURSA, CLASA și RUNTIME.
  5. Repetabil - Aceasta informează că tipurile de adnotare a căror declarație o adaugă este repetabilă.

Exemplu - Documentare și păstrare

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");
)
)

producție

Explicaţie

RetentionPolicy.RUNTIME - Această valoare specifică faptul că valoarea adnotării ar trebui să fie disponibilă la rulare, pentru inspecție prin reflectarea java.

Executați comanda Javadoc pentru a vizualiza documentația codului dvs.

Tipuri de adnotări

Există trei categorii de adnotări și există următoarele:

1. Adnotări marker - Aceste tipuri de adnotări sunt utilizate ca o declarație pentru a notifica dezvoltatorului despre ce este vorba despre funcția sau clasa de mai jos, adică împărtășește informații suplimentare despre funcția sau clasa, cum ar fi dacă funcția este peste o altă funcție sau dacă funcția este depășită, etc. @Override, @Deprecated sunt considerate adnotări ale markerilor.

Exemplu: DemoAnnotare ()

2. Adnotări cu o singură valoare - Acest tip de adnotare are valoare pentru a specifica acea valoare pentru acel membru pentru care adnotarea este plasată în față și, prin urmare, nu trebuie să precizeze numele acelui membru.

Exemplu: DemoAnnotation („custId123”)

3. Adnotări complete - Acest tip de adnotare are mai multe valori, perechi, membri.

Exemplu: DemoAnotare (categorie = „Jucării”, valoare = 1500)

Personalizat

Adnotările personalizate sunt create de interfața de utilizator, urmate de un nume de adnotare așa cum vom vedea în exemplul de mai jos.

Fișier 1: Adnotare personalizată definită

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; )
)

Fișier 2: clasa principală care apelează clasa de adnotare personalizată

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();
)
)
)

producție

Concluzie

În acest articol, am aflat despre ce sunt adnotările java și tipurile lor cu exemple, de-a lungul timpului am văzut exemple de adnotări încorporate furnizate de java și ne-au codat adnotările personalizate.

Am aflat că adnotările sunt utile în standardizarea codului și ajută, de asemenea, la o mai bună înțelegere a codului și a structurii acestuia.

Articole recomandate

Acesta este un ghid pentru adnotările Java. Aici vom discuta despre cum să adnotări Java încorporate cu exemple și ieșiri date. De asemenea, puteți arunca o privire la următoarele articole pentru a afla mai multe -

  1. Variabile în Java
  2. Modele în Java
  3. Sortare rapidă în Java
  4. Cele mai bune compilatoare Java
  5. instanceOf în Java cu Exemplu