Введение в Java Reflection API 0:00 Java Reflection API позволяет программам просматривать и изменять себя во время выполнения. Это мощный инструмент, который может нарушать правила программы. Использование рефлексии требует большой ответственности.
Проблемы с поиском кода 0:22 Поиск кода на Stack Overflow требует прокрутки вниз и копирования кода. Новая поисковая система Neva предлагает главный ответ и код прямо на странице результатов. Neva свободна от рекламы и обеспечивает конфиденциальность данных.
Что такое рефлексия 1:52 Рефлексия позволяет коду "смотреть на себя со стороны". Можно исследовать и изменять элементы любого класса Java во время выполнения. Пример с классом Cat показывает, как использовать рефлексию для получения и изменения полей и методов.
Пример с классом Cat 2:24 Класс Cat имеет частные переменные name и age, конструктор и методы получения и установки. Основной метод показывает, как использовать рефлексию для получения всех полей класса. Метод getDeclaredFields возвращает массив полей, которые можно перебрать и изменить.
Изменение приватных полей 5:13 Приватные поля не могут быть изменены извне класса. Использование рефлексии позволяет изменить приватные поля, обходя правила доступа. Пример показывает, как изменить имя объекта Cat с помощью рефлексии.
Изменение методов 10:15 Рефлексия позволяет получать и изменять методы класса. Метод getDeclaredMethods возвращает массив методов. Пример показывает, как перебрать и изменить методы класса Cat.
Введение в отражение 10:59 Объяснение методов, объявленных в классе, и их расположения. Пример использования отражения для вызова метода "meow" в классе "Cat". Описание метода invoke и его параметров.
Вызов метода "meow" 11:47 Вызов метода "meow" для объекта "mycat". Метод "meow" не принимает параметров, поэтому дополнительные параметры не нужны. Проверка успешного вызова метода "meow" через отражение.
Вызов закрытого метода 13:24 Попытка вызвать закрытый метод "hey, this is a private method" через отражение. Получение исключения "Illegal Access" и решение проблемы с помощью метода setAccessible.
Вызов статических методов 14:41 Вызов статических методов с помощью отражения. Пример вызова публичного статического метода "this is a public static method". Аналогичный подход для частных статических методов.
Зачем использовать отражение 16:00 Отражение позволяет манипулировать программами и углубляться в их работу. Отражение широко используется в фреймворках, таких как Spring. Отражение полезно для тестирования и установки значений закрытых полей.
Недостатки отражения 17:11 Отражение может привести к ошибкам, если не знать, что делаешь. Пример изменения названия метода и его влияние на код. Отражение работает медленнее из-за вычислений во время выполнения.
Заключение 18:49 Избегайте использования отражения, если можно обойтись без него. Отражение имеет свои законные применения и может быть полезным инструментом. Призыв к подписке и поддержке канала через лайк и курс по Java.