@Loligan

Где на практике применяется рефлексия? Зачем она может в принципе понадобиться при написании проекта?

Где на практике применяется рефлексия? Зачем она может в принципе понадобиться при написании проекта?
  • Вопрос задан
  • 2531 просмотр
Решения вопроса 3
EugeneP2
@EugeneP2
Java Dev
Рефлексия - это инструмент с помощью которого можно узнать всю информацию о классе: имена методов, параметры, поля, аннотации и т.д.
Эти возможности во всю используются во фреймверках, таких как Spring, Hibernate...
Различные сериализаторы json/xml
Ответ написан
OLDRihard
@OLDRihard
Java Developer
Ну вестч эта, достаточно хитрая. Я всего не упомню т.к. смотрел информацию по ней давно, и использовал всего разок что ли...
Но, точно могу сказать что она помогает уничтожать объект в обход сборщику мусора, то есть немедленно.
Также можно получить список публичных методов и выполнить их, заранее не зная названия.
Ответ написан
DigitalSmile
@DigitalSmile
http://brainstorage.me/digitalsmile
Рефлексия активно используется, например, для поддержки разных версий JDBC драйвера (для обратной совместимости при расширении интерфейса).

Также может быть полезна для вызова метода, когда нет прямого доступа к экземпляру объекта, хотя это, безусловно, не самая лучшая практика.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
programmerjava
@programmerjava
Все что использует аннотации - уже использует рефлексию. Еще есть тонкая вещь которую мало кто знает - прокси. Можно обертку программно сделать для метода и делать действия до и после. Если не сплю и не забыл, то это активно используется в качестве базы для аспектов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы