CodeGym /Java blog /Véletlen /Annotációk. 1. rész – egy kicsit unalmas
John Squirrels
Szint
San Francisco

Annotációk. 1. rész – egy kicsit unalmas

Megjelent a csoportban
1. rész. Nagyon röviden írtam a SOURCE és CLASS típusú megjegyzésekről. Ezt érdemes elolvasni, nehogy eltévedj a második részben, és kicsit bővítsd a "félreértésedet" =) Ígérem, biztosan lesz legalább egy szó, amit tudsz! Annotációk.  1. rész – kicsit unalmas – 1 Amikor először láttam megjegyzéseket az itteni feladatokban, valahogy nem nagyon figyeltem rájuk. Van itt-ott az @Override, de az IDEA ezt hozzáteszi, ezért úgy gondoltam, hogy ennek így kell lennie. Idővel rájöttem, hogy minden sokkal mélyebb. Tanulás közben a megjegyzések haszontalannak, de szükségesnek tűnhetnek. Nem tudod, miért léteznek, vagy mit csinálnak. Olvasott már néhány cikket, amelyek ezt mondták: "Olyan nagyszerű, hogy most már vannak kommentárjaink, minden olyan egyszerűvé vált." De nem tudtam, hogy vannak a dolgok korábban, és nem értettem, hogy most könnyebb a helyzet. Most már tudom, és szeretnék egy kicsit megosztani. Háromféle (RetentionPolicy) megjegyzés létezik:
  • FORRÁS — Megjegyzések a fordító számára
  • OSZTÁLY – Az annotációból származó információk bájtkódban lesznek írva, de futás közben nem érhetők el. Azt mondják, hogy a szabványos könyvtárban sok ilyen típusú megjegyzés található, amelyeket a visszamenőleges kompatibilitás érdekében megtartanak. Ezt nagyon specifikus feladatokra használják.
  • Kérdések és válaszok a StackOverflow-ról
  • RUNTIME – Ezek a megjegyzések a legnépszerűbbek. A kód végrehajtása közben használatosak.
A bevezető a cikk egy részét foglalta el, ezért a FORRÁS és az OSZTÁLY megjegyzésekről írok itt. Ezeket a megjegyzéseket találtam (hála a 3607-es feladatnak). Nem foglalkozom a futásidejű megjegyzésekkel – túl sok van belőlük, és nem ezek képezik ennek a cikknek a témáját. FORRÁS:
  • java/lang/annotation/Native.class;
  • java/lang/SuppressWarnings.class
  • javax/annotation/Generated.class
  • java/lang/Override.class
OSZTÁLY: Nem tudom, miért van szükség OSZTÁLY megjegyzésekre. A meglévő megjegyzések dokumentációja sehol sem található, úgyhogy szerintem nyugodtan hagyd magad mögött ezt a poggyászt. De ha találsz, kérlek oszd meg. SOURCE megjegyzések:
  1. Natív – Az ezzel a megjegyzéssel ellátott változó natív kódra utalhat;
  2. SuppressWarnings – Ez a megjegyzés elnyomja a fordítóprogramok különféle figyelmeztetéseit;
  3. Generált — Ez a megjegyzés jelöli a generált forráskódot;
  4. Felülbírálás – Ez a megjegyzés ellenőrzi a metódusok felülbírálását.
További információért:

@Anyanyelvi

Natív – soha nem láttam ilyet, és nem is használtam. Szerintem ez egy meglehetősen ritka megjegyzés, mert akkor használják, ha egy másik "natív" nyelven kell kódot futtatni. Megpróbáltam, de nem sikerült egyértelmű említést találnom róla.

@SuppressWarnings

SuppressWarnings — Ezt a megjegyzést gyakran a következőképpen használják: @SuppressWarnings("bejelöletlen"). Az Ön által már ismert figyelmeztetések elnyomására szolgál. Az előző példa elnyomja a nem ellenőrzött típuskonverziókra vonatkozó figyelmeztetéseket. Ismétlem, ez az egyetlen használat, amivel találkoztam.

@Generált

Létrehozva – éppen most futok bele ebbe a megjegyzésbe egy olyan feladat miatt, amelyben osztályokat kell generálnom XSD-fájlokból. Ez a 3 megjegyzés meglehetősen specifikus, és jelenleg valószínűleg nem érdekli Önt. Leírom az utolsót.

@Felülbírálás

Felülbírálás – Folyamatosan használja, és valami nagyon hasznosat tesz. Egy módszer felülbírálásakor az IDEA segítsége nélkül könnyen hibázhatunk. Legyen szó elírásról vagy egyszerű hibákról, előfordulnak hibák. Ez az annotáció biztosítja, hogy a szülő osztály metódusa megegyezzen a (jegyzett) metódusunkkal. Ez biztosítja, hogy a módszer felülírásra kerül, nem pedig hozzáadásra. A kód átalakítása során a szülő metódus eltávolítható vagy módosítható. Ez a megjegyzés ismét hibát jelez. Enélkül a módszerünk egyszerűen hozzáadódik. Unalmas? azt mondanám, hogy igen. Ebből a cikkből nem sok hasznos dolgot lehet kiolvasni. Itt szinte minden (90%) leír valamit, amit soha, vagy csak nagyon ritkán fog használni. A maradék 10% köszön és leírja az @Override annotációt, ami első pillantásra haszontalan. Ennek ellenére azt hiszem, a cikk második része érdekesebb lesz. Szó lesz a RUNTIME megjegyzésekről – a végrehajtás során kölcsönhatásba lépnek a kóddal, és fekete mágiát végeznek. Annotációk. 2. rész Lombok
Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION