Sobes.tech
Junior — Middle

Objasnite princip rada mehanizma refleksije u Javi i njegove osnovne primene.

sobes.tech АИ

Одговор од АИ

Refleksija u Javi je mehanizam koji omogućava programu da u toku izvršenja dobije informacije o klasama, metodama, poljima i konstruktorima, kao i da dinamički poziva metode i menja vrednosti polja.

Glavne primene refleksije:

  • Framework-ovi i biblioteke (npr. Spring) koriste refleksiju za ubrizgavanje zavisnosti, kreiranje objekata i pozivanje metoda bez eksplicitnog znanja o klasama tokom kompilacije.
  • Serijalizacija i deserijalizacija objekata.
  • Testiranje (npr. JUnit) za pozivanje test metoda.
  • Alati za analizu koda i otklanjanje grešaka.

Primer korišćenja refleksije za pozivanje metode:

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

Refleksija je moćna, ali njena upotreba može uticati na performanse i bezbednost, stoga je treba koristiti svesno.