Annotációk a Java programozási nyelvben Flashcards

1
Q

Mi az annotáció?

A

Egy programkonstrukcióra vonatkozó metaadat, melynek nincs közvetlen hatása a programvégrehajtásra.
Tömör dokumentációs formának tekinthető.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Sorold fel az annotációk lehetséges felhasználásait!

A

-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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Jellemezd az annotációk szintaxisát!

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Milyen fajtái vannak az annotációknak?

A

Közönséges
@XmlElement

Egyelemű
@Target
@SuppressWarnings

Jelölő
@NotNull

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Milyenek lehetnek az annotációk felhasználásuk szerint?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Sorold fel az előre definiált annotáció interfészeket a java.lang csomagból!

A

@Deprecated
@FunctionalInterface
@Override
@SafeVarargs
@SuppressWarnings

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Jellemezd a @Deprecated annotáció interfészt!

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Jellemezd a @SuppressWarnings annotáció interfészt!

A

El kell tekinteni az annotált elemen az adott figyelmeztetésektől.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Jellemezd az @Override annotáció interfészt!

A

A megjelölt metódus felülír egy az őszosztályban deklarált metódust.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Jellemezd a @FunctionalInterface annotáció interfészt!

A

Jelzi, hogy egy interfész funkcionális, azaz egy absztrakt metódusa van.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Jellemezd a @SafeVarargs annotáció interfészt!

A

Változó argumentumszámú függvényeknél jelentkező figyelmeztetésektől szabadít meg.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Jellemezd a @Native annotáció interfészt!

A

Az annotált elem olyan konstanst definiál, mely natív kódból is hivatkozható.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Jellemezd a Meta-annotációkat majd sorold fel őket!

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Jellemezd az annotáció interfész deklarását!

A

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ó.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Jellemezd az ismételhető annotációkat!

A

Egy ismételhető annotáció interfész több annotációja is alkalmazható ugyanarra a programkonstrukcióra.
Kell @Repeatable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Jellemezd a típus annotációkat!

A

Egy típusra vonatkoznak.
Kell @Target
Hatékony hibák megelőzésére.

17
Q

Jellemezd a deklaráció és típus annotációkat!

A

Megfelelő annotáció interfész határozza meg, hogy típus, deklaráció vagy mindkettő.
@Foo private String s;
@Foo deklaráció ha van @Target(ElementType.FIELD)
@Foo típus ha van @Target(ElementType.TYPE_USE)