Reflection Api

Проработать

  1. Reflection API в Java - Часть 1

Что это

Reflection(Рефлексия) - это API, который позволяет:

  1. Получать информацию о переменных, методах внутри класса, о самом классе, его конструкторах, реализованных интерфейсах и т.д.
  2. Получать новый экземпляр класса.
  3. Получать доступ ко всем переменным и методам, в том числе приватным.
  4. Преобразовывать классы одного типа в другой (cast).
  5. Делать все это во время исполнения программы (динамически, в Runtime).

Минусы

  1. Худшая производительность в сравнении с классической работой с классами, методами и переменными.
  2. Получение доступа к внутренностям класса, что нарушает принцип инкапсуляции.

Как работает

В Java есть специальный класс по имени Class. Поэтому его и называют классом класса. С помощью него осуществляется работа с рефлексией, он и является входной точкой в мир рефлексии.

Class есть у:

  1. Классов, интерфейсов, перечислений
  2. Примитивов и обёрток над ними
  3. Массивов
  4. Void - ключевое слово void также имеет Class

В общем, Class есть у всех объектов в Java.