Sobes.tech
Junior — Middle

Explicați principiul de funcționare al mecanismului de reflecție în Java și principalele sale aplicații

sobes.tech AI

Răspuns de la AI

Reflexia în Java este un mecanism care permite unui program să obțină informații despre clase, metode, câmpuri și constructori în timpul execuției, precum și să invoce metode și să modifice valorile câmpurilor în mod dinamic.

Principalele aplicații ale reflexiei:

  • Framework-uri și biblioteci (de exemplu, Spring) utilizează reflexia pentru injecția de dependențe, crearea de obiecte și apelarea de metode fără cunoaștere explicită a claselor în timpul compilării.
  • Serializarea și deserializarea obiectelor.
  • Testare (de exemplu, JUnit) pentru apelarea metodelor de test.
  • Instrumente pentru analiză de cod și depanare.

Exemplu de utilizare a reflexiei pentru a apela o metodă:

Class<?> clazz = Class.forName("com.example.MyClass");
Object obj = clazz.getDeclaredConstructor().newInstance();
Method method = clazz.getMethod("myMethod", String.class);
method.invoke(obj, "salut");

Reflexia este puternică, dar utilizarea sa poate afecta performanța și securitatea, așa că trebuie folosită conștient.