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.