Java Development
Александр Вотин, Backend developer · 24.09
Java Reflection. Зачем и как его использовать
Java Reflection — это как суперспособность для программиста. Она позволяет заглянуть в самую суть объектов и классов, чтобы увидеть их внутренности. С помощью рефлексии ты можешь динамически исследовать классы, методы и поля, что открывает новые горизонты в программировании.
Динамическое создание объектов. Иногда нужно создавать объекты без знания их типов на этапе компиляции. Например, при разработке фреймворков или библиотек, которые работают с различными классами.
Доступ к приватным полям и методам. Да, я знаю, что это может звучать как злоупотребление, но иногда нужно заглянуть за занавес и изменить внутреннее состояние объекта.
Инспекция классов. С помощью рефлексии ты можешь получить информацию о методах, полях и аннотациях класса. Это полезно, например, при создании документации или анализа кода.
Давай рассмотрим, как использовать рефлексию на простом примере на изображении. Представь, что у нас есть класс Person с приватным полем name. Мы будем использовать рефлексию, чтобы получить доступ к этому полю и изменить его.
- Мы создаем объект Person с именем "Иван".
- Используем getClass(), чтобы получить класс объекта person.
- С помощью getDeclaredField("name") получаем доступ к приватному полю name.
- Метод setAccessible(true) позволяет нам игнорировать модификаторы доступа и работать с приватными полями.
- Сначала мы получаем текущее значение поля, а затем изменяем его на "Петр".
еще контент автора
еще контент автора
Java Development
Александр Вотин, Backend developer · 24.09
войдите, чтобы увидеть
и подписаться на интересных профи