Junior — Middle
Vysvetlite princíp fungovania reflexného mechanizmu v Jave a jeho hlavné použitia
sobes.tech AI
Odpoveď od AI
Reflexia v Jave je mechanizmus, ktorý umožňuje programu získať informácie o triedach, metódach, poliach a konštruktoroch počas behu a tiež dynamicky volať metódy a meniť hodnoty polí.
Hlavné využitia reflexie:
- Frameworky a knižnice (napríklad Spring) používajú reflexiu na injekciu závislostí, tvorbu objektov a volanie metód bez explicitného poznania tried počas kompilácie.
- Serializácia a deserializácia objektov.
- Testovanie (napríklad JUnit) na volanie testovacích metód.
- Nástroje na analýzu kódu a ladenie.
Príklad použitia reflexie na volanie metódy:
Class<?> clazz = Class.forName("com.example.MyClass");
Object obj = clazz.getDeclaredConstructor().newInstance();
Method method = clazz.getMethod("myMethod", String.class);
method.invoke(obj, "ahoj");
Reflexia je mocná, ale jej použitie môže ovplyvniť výkon a bezpečnosť, preto by mala byť používaná vedome.