Java kommentárok, coreer
Java kommentárok - ez az egyik fő eszköze a meta-programozás Java nyelven (más intrument -parametriziruemye osztály (= minta = Generics).
Széljegyzetek lehet használni:
- fordító - Rowan diagnosztikai hibák vagy elnyomják a figyelmeztetéseket a színpadon újrafordítás.
- összeállítására és telepítésére - generálni a kódot, CML és egyéb források.
- runtime - elvégzi fényvisszaverő adaptációja alkalmazásokat.
A kommentárok kezdődik a @ jel, ami azt jelenti, = jelölés típusa. Opciók lehetnek bennük:
Az értékek olyan feljegyzések is, röviden:
Továbbá, kommentárok nem lehet értékeket (pl kommentárok nevezik markerek):
Vannak standard (beépített) feliratozást, akkor is létrehozhat.
7 beépített jelöléseket:
- 4 közülük származó java.lang.annotation csomag: @Retention, @Documented, @Target és @Inherited. Ez a meta-kommentár.
- 3. csomag java.lang: @Override, @Deprecated és @SuppressWarnings
@Override - elé a módszer, amelyet túl a szülő osztályban. Ha hibázott a nevét, a paramétereket vagy visszatérési típus (azaz egy új módszer, nem pontosan ugyanaz, mint a szülő), a fordító figyelmezteti erre
// elavult módszer, amely ellenőrizetlen Generics
Most egy példát egyéni jelölések
Ahhoz, hogy hozzon létre egy kommentár szükséges leírni kommentár felület.
Prezhche csinálod, meg kell emlékeztetni, hogy vannak matadannye metaadatok (kommentárokat megjegyzéssel), ezek az úgynevezett meta-kommentárok (meta-Kommentártípus). Leggyakoribb meta-kommentár visszatartás, ami lehetővé teszi, hogy a fordító tudni, milyen stádiumban derazht kommentár:
- RetentionPolicy.SOURCE - feliratozást használnak fordítási időben és el kell utasítani a fordító;
- RetentionPolicy.CLASS - anntoatsiya rögzítésre kerül a class-fájl fordító, de nem fog egy futó alkalmazás (runtime). Ez az érték yavletsya az alapértelmezett, ha nem határozza meg kifejezetten ezt a jelölést;
- RetentionPolicy.RUNTIME - absztrakt lesz írva class-fájl és a rendelkezésre álló futási időben a reflexió.
kommentár paraméterek csak egyszerű felsorolt, és az osztály karakterlánc.
És itt egy példa:
A kommentárok jelezheti, ahol lehet használni. Ez egy meta-kommentár @Target, amely a következő értékeket:
- java.lang.annotation.ElementType.ANNOTATION_TYPE - be Annotate meta-kommentár (csak akkor használható, közel @interface)
- java.lang.annotation.ElementType.CONSTRUCTOR - csak a kontruktoram.
- java.lang.annotation.ElementType.FIELD - csak a területek osztályok, beleértve a transzfert az állandó (enum).
- java.lang.annotation.ElementType.LOCAL_VARIABLE - primima csak a belső változók módszerekkel.
- java.lang.annotation.ElementType.METHOD - csak a módszereket.
- java.lang.annotation.ElementType.PACKAGE - csak a reklám csomagot.
- java.lang.annotation.ElementType.PARAMETER - csak az eljárás paramétereit.
- java.lang.annotation.ElementType.TYPE - alkalmazandó osztályokba; interfészek, beleértve a meghatározó jelölések felsorolások (enum).
De a példa vonatkozik erre meta-kommentár a nyilatkozat önmagában ez annoatatsii :)
Használata meta-kommentárok @Inherited. Ez a meta-kommentár lehetővé unasledyvat kommentárok õse alosztályok. például:
Class alosztály lesz jegyzetekkel @ForEveryone nem @JustForMe.
Használata meta-kommentárok @Documented. A jelölések vannak jelölve, így popodaet a dokumentációban által generált javadoc segédprogramot:
Természetesen érdemes megemlíteni a használata kommentárokat kódgenerálásra. Gyakran használják kereteket, amelyek készek kommunikálni az egyéni órák, hogy biztosítsák számukra egy bizonyos funkcionális, és természetesen neizvesno korábbi, hogy nem lesz az osztályok. Egy másik, hogy az ilyen osztályok annotarivaniya CML-leírók, de nem mondanám, hogy ez udlobnee. Itt egy példa az EJB 3.0:
Ez a kód lefordul és deploitsya az EJB 3.0 környezetben, amely már fut, és a színpadon a végrehajtás ilyen kommentárok novoprodeploennogo osztály olvassa őket, és hozzon létre ORM-objektumot.