Úvod Anotácie v Jave

Anotácie boli zavedené alebo sprístupnené vo verzii 1.5 Java Development Kit (JDK). Anotácie v Jave poskytujú viac informácií o údajoch prítomných v kódovej štruktúre, tj sú to údaje o údajoch tiež známe ako metadáta.

Čo sú anotácie v jazyku Java?

Anotácie pomáhajú pri definovaní metaúdajov v kóde štandardizovaným spôsobom. Anotácie tiež pomáhajú pri poskytovaní pokynov kompilátoru java, ktoré treba dodržiavať pri kompilácii tohto kódu java.

Pri použití anotácií používame znak „@“ a potom za ním názov anotácie, takže kompilátor bude s anotáciou pracovať. Je dôležité poznamenať, že anotácie môžu byť pridané skôr,

  • Vyhlásenie o triede
  • Vyhlásenie o premennej člena
  • Vyhlásenie konštruktora
  • Metodické vyhlásenie
  • Vyhlásenie o parametroch
  • Vyhlásenie o miestnej premennej.

Dôležité je zapamätať si, že všetky anotácie rozširujú rozhranie java.lang.annotation.Annotation. Anotácie tiež nemôžu obsahovať klauzulu o rozšírení.

Vstavané anotácie Java

V Jave sú zabudované anotácie ako @Override, @Deprecated, @SuppressWarnings, ktoré sú navrhnuté na konkrétny účel a používajú sa v jednej z vyššie uvedených situácií, napríklad iba pre triedu alebo iba pre metódu, atď.

Príklad č. 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();
)
)

Výkon

Príklad č. 2 - Zrušené

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

Výkon

Meta anotácie

Existuje päť druhov meta-anotácií:

  1. Zdokumentované - Informuje, že člen, premenná alebo trieda, ktorá používa túto anotáciu, musí byť zdokumentovaný programom Javadoc alebo akýmikoľvek inými podobnými dostupnými nástrojmi.
  2. Cieľ - Používa sa na určenie typu, v ktorom sa anotácia použije. Väčšinou sa používa spolu s vašimi vlastnými anotáciami.
  3. Inherited - Označuje anotáciu, ktorá sa má zdediť po podtriede.
  4. Uchovávanie - Označuje, ako dlho sa majú anotácie s anotovaným typom uchovávať. Berie argument Retention Policy, ktorého možné hodnoty sú: SOURCE, CLASS a RUNTIME.
  5. Opakovateľný - informuje o tom, že typy anotácií, ktorých deklarovanie uvádza, sú opakovateľné.

Príklad - dokumentácia a uchovávanie

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

Výkon

vysvetlenie

RetentionPolicy.RUNTIME - Táto hodnota určuje, že hodnota anotácie by mala byť k dispozícii za behu, na kontrolu prostredníctvom odrazu javy.

Spustením príkazu Javadoc zobrazíte dokumentáciu k vášmu kódu.

Typy anotácií

Existujú tri kategórie anotácií a sú tieto:

1. Anotácie markerov - tieto typy anotácií sa používajú ako deklarácia na upovedomenie vývojára o tom, o čom je nižšie uvedená funkcia alebo trieda, tj zdieľa ďalšie informácie o funkcii alebo triede, napríklad či funkcia má nadradenú inú funkciu alebo je funkcia zastaraná., atď. @Override, @Deprecated sa považujú za anotácie značiek.

Príklad: DemoAnnotation ()

2. Anotácie s jednou hodnotou - Tento druh anotácie má hodnotu na určenie tej hodnoty, pre ktorú člen, pre ktorú je anotácia umiestnená pred, a teda nemusí uvádzať meno tohto člena.

Príklad: DemoAnnotation („custId123“)

3. Úplné anotácie - Tento druh anotácie má viacero hodnôt, párov, členov.

Príklad: DemoAnnotation (category = ”Toys”, hodnota = 1500)

zvyk

Vlastné anotácie vytvára používateľské rozhranie, za ktorým nasleduje názov anotácie, ako uvidíme v nižšie uvedenom príklade.

Súbor 1: Definovaná vlastná anotácia

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

Súbor 2: Hlavná trieda, ktorá volá triedu vlastných anotácií

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

Výkon

záver

V tomto článku sme sa dozvedeli, čo sú anotácie javy a ich typy s príkladmi, spolu sme videli príklady zabudovaných anotácií poskytovaných javou a kódovali naše vlastné anotácie.

Dozvedeli sme sa, že anotácie sú užitočné pri štandardizácii kódu a tiež pomáhajú lepšie pochopiť kód a jeho štruktúru.

Odporúčané články

Toto je sprievodca anotáciami Java. Tu diskutujeme o tom, ako zabudovať anotácie Java s uvedenými príkladmi a výstupmi. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. Premenné v jazyku Java
  2. Vzory v Jave
  3. Rýchle zoradenie v jazyku Java
  4. Najlepšie Java kompilátory
  5. instanceOf v Jave s príkladom

Kategórie: