Sobes.tech
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.