Найти тему

Очень кратко про рефлексию.


Рефлексия — это специальное API, которое позволяет получить доступ к данным приложения во время выполнения.

С помощью рефлексии мы можем узнать кучу всего о классах, методах и т.п. А еще мы можем получить приватные поля и даже изменить их значения. И можем создавать экземпляры класса прямо во время выполнения.

Рефлексия работает через  java.lang.Class. JVM создает его для каждого объекта и именно через него мы можем всё делать.

Почему не любят рефлексию? Чуть выше я писала, что так мы можем получать доступ к приватным полям и менять значения. И тут мы напрочь ломаем инкапсуляцию и архитектуру приложения. Плюс дополнительно из-за того что мы все делаем динамически, снижается производительность. Ну и код, написанный с помощью рефлексии, довольно сложный и запутанный.
Около минуты
159 читали