Junior — Middle
Wyjaśnij zasadę działania mechanizmu refleksji w Java i jego główne zastosowania.
sobes.tech AI
Odpowiedź od AI
Refleksja w Javie to mechanizm umożliwiający programowi uzyskiwanie informacji o klasach, metodach, polach i konstruktorach w czasie wykonywania, a także dynamiczne wywoływanie metod i zmienianie wartości pól.
Główne zastosowania refleksji:
- Frameworki i biblioteki (np. Spring) używają refleksji do wstrzykiwania zależności, tworzenia obiektów i wywoływania metod bez konieczności znajomości klas podczas kompilacji.
- Serializacja i deserializacja obiektów.
- Testowanie (np. JUnit) do wywoływania metod testowych.
- Narzędzia do analizy kodu i debugowania.
Przykład użycia refleksji do wywołania metody:
Class<?> clazz = Class.forName("com.example.MyClass");
Object obj = clazz.getDeclaredConstructor().newInstance();
Method method = clazz.getMethod("myMethod", String.class);
method.invoke(obj, "cześć");
Refleksja jest potężna, ale jej użycie może wpływać na wydajność i bezpieczeństwo, dlatego należy stosować ją świadomie.