Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Vysvetlenie Java anotácií

Podnety boli pridané do jazyka Java v Jave 1.5 a môžete ľahko pridať úplne novú dynamiku pravidelné programovania . Jednoducho povedané , anotácia je spôsob, ako pridať metadáta pre rôzne aspekty triedy , ďalšie informácie , ktoré môžu byť použité k zmene spôsobu trieda sa chová alebo jednoducho ďalej popísať v správaní nie sú ľahko vymáhateľné prostredníctvom štandardných prostriedkov . Pomocou poznámky

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

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené