Annotációk a Java programozási nyelvben Flashcards
Mi az annotáció?
Egy programkonstrukcióra vonatkozó metaadat, melynek nincs közvetlen hatása a programvégrehajtásra.
Tömör dokumentációs formának tekinthető.
Sorold fel az annotációk lehetséges felhasználásait!
-Információk szolgáltatása a fordítónak: jelez hibákat
-Kódgenerálás: annotációk alapján kód generálható
-futásidejű feldolgozás: bizonyos annotációkhoz hozzá lehet férni futási időben
Jellemezd az annotációk szintaxisát!
Egy annotáció interfész név és opcionális elem-érték párokból álló lista alkot egy annotációt.
Az annotáció interfész határozza meg a használható elem-érték párokat.
Az elem-érték párok sorrendje nem lényeges.
Ha egy elem típusa tömb, akkor az értéket egy tömb inicializáció kell biztosítson.
Milyen fajtái vannak az annotációknak?
Közönséges
@XmlElement
Egyelemű
@Target
@SuppressWarnings
Jelölő
@NotNull
Milyenek lehetnek az annotációk felhasználásuk szerint?
Deklarációs annotáció a deklaráció kontextusban megjelenő annotáció.
Típus annotációnak nevezzük a típus kontextusban megjelenő annotációkat.
Sorold fel az előre definiált annotáció interfészeket a java.lang csomagból!
@Deprecated
@FunctionalInterface
@Override
@SafeVarargs
@SuppressWarnings
Jellemezd a @Deprecated annotáció interfészt!
Ezzel ellátott elemet használata kerülendő, mert veszélyes vagy van rá jobb alternatíva.
Két opcionális elem
since: melyik verzióban lett elavult
forRemoval: az annotált elem a jövőben eltávolításra kerül
Jellemezd a @SuppressWarnings annotáció interfészt!
El kell tekinteni az annotált elemen az adott figyelmeztetésektől.
Jellemezd az @Override annotáció interfészt!
A megjelölt metódus felülír egy az őszosztályban deklarált metódust.
Jellemezd a @FunctionalInterface annotáció interfészt!
Jelzi, hogy egy interfész funkcionális, azaz egy absztrakt metódusa van.
Jellemezd a @SafeVarargs annotáció interfészt!
Változó argumentumszámú függvényeknél jelentkező figyelmeztetésektől szabadít meg.
Jellemezd a @Native annotáció interfészt!
Az annotált elem olyan konstanst definiál, mely natív kódból is hivatkozható.
Jellemezd a Meta-annotációkat majd sorold fel őket!
Annotáció interfész deklaráción megjelenő annotáció.
Metaadatokat szolgál az annotáció interfészről.
@Documented - az annotáció használata meg kell jelenjen az API dokumentumban.
@Inherited - az annotáció interfész öröklődik
@Repeatable - többször is alkalmazható az annotáció interfész ugyanarra a deklarációra vagy típus használatra
@Retention - meghatározza az annotáció interfész tárolási módját
@Target - meghatározza mely elemekre lehet használni
Jellemezd az annotáció interfész deklarását!
módosítók @interface név {deklarációk}
Nem lehet generikus és nem adható meg szülőinterfész sem.
Szuper-interfésze a java.lang.annotation.Annotation.
A deklarációban megengedett:
Osztálydeklaráció, interfész deklaráció, konstans és speciális metódus deklaráció.
Jellemezd az ismételhető annotációkat!
Egy ismételhető annotáció interfész több annotációja is alkalmazható ugyanarra a programkonstrukcióra.
Kell @Repeatable