Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Anotácia sú veľmi jednoduché na používanie , a môžu byť použité na viac oblastí vášho kódu . Príkladom nejaké použitie anotácia by :
@ Deprecated
public class MyClass ...
Což označiť triedu ako " zastaralé " , čo znamená , že by nemal byť použitý, ak je to vôbec možné . Ďalšie poznámky užitočné pre demonštračné účely je anotácia SuppressWarnings :
@ SuppressWarnings ( " nepoužitý " )
public void somethingWithUnusedVariables ( ) { ....
s týmto príkladom , môžete vidieť , že môžete odovzdať informácie anotácia - v tomto prípade typ varovanie potlačiť - . ktoré potom môžu byť použité rôzne nástroje , ako je napríklad kompilátor
Čo je Anotácia ?
Java kódu , anotácia je málo viac než bežné rozhranie . Vytvorenie jedného je veľmi jednoduchý :
verejné @ interface MyAnnotation {
}
Táto nová poznámka môže byť použitý kdekoľvek , napríklad na výzdobu triedy :
@ MyAnnotation
public class SomeClass ...
Samozrejme , že v tejto forme , je to skôr k ničomu - neobsahuje žiadne dáta , a v predvolenom nastavení sú všetky poznámky uložené v súbore triedy , ale sú nie je prístupný v behu , takže slúži ako málo viac než ďalší komentár .
Vytvorenie Užitočné Anotácia
ako už bolo uvedené , v predvolenom nastavení anotácií sú k dispozícii na runtime . To je v poriadku , ak ste jednoducho používať to ako značka nejakého druhu pre iné vývojárov , aby vzali na vedomie , alebo ak sa chystáte urobiť nejaké spracovanie bytecode úrovni , ale aby sa prístup k anotácii za behu ( pomocou reflexie ) , je potrebné povedať kompilátora , aby tak urobili . Môžete to urobiť s anotherent anotácií , ktoré sa vzťahujú na vaše nové anotácia :
@ Retention ( RetentionPolicy.RUNTIME )
To vám umožní prístup k informáciám o anotácia - prostredníctvom reflexie - zatiaľ čo Váš kód je spustený , a preto ho spracovať .
Reading Anotácia Informácie
Čítanie informácií anotácia v behu je trochu zložitejšie, ale v žiadnom prípade nie je možné . Pomocou funkcie reflexie Javy , môžete si poznámky , ktoré sú použité na triedy , metódy alebo oblasti , ako aj všetky informácie obsiahnuté v tejto anotácii . Zvážte napríklad nasledujúci jednoduchý Anotácia :
@ Retention ( RetentionPolicy.RUNTIME )
verejné @ interface Autor {
String value ( ) ;
}
Nanáša sa na triedu ako tak :
@ Autor ( " John Doe " )
public class MyClass { ...
Môžete získať informácie autor s nasledujúcim kódom :
konečnej Autor author = MyClass.class.getAnnotation ( Author.class ) ;
System.out.println ( author.value ( ) ) ;