Рефлексия — это механизм языка программирования, позволяющий программе получать информацию о своей структуре и поведении во время выполнения. Это включает возможность интроспекции классов, методов, полей и их атрибутов, а также возможность динамически создавать объекты, вызывать методы и получать/устанавливать значения полей, даже если имена этих элементов неизвестны на этапе компиляции.
Основные возможности рефлексии в Java:
Class
объекта: Представляет собой описание класса или интерфейса. Получается через Object.getClass()
, .class
синтаксис или Class.forName()
.getFields()
, getDeclaredFields()
: Получение информации о полях.getMethods()
, getDeclaredMethods()
: Получение информации о методах.getConstructors()
, getDeclaredConstructors()
: Получение информации о конструкторах.Class.newInstance()
(устарел) или Constructor.newInstance()
.Method.invoke()
.Field.get()
и Field.set()
.getAnnotations()
.Плюсы рефлексии:
Минусы рефлексии:
Рефлексия — это механизм языка программирования, позволяющий программе получать информацию о своей структуре и поведении во время выполнения. Это включает возможность интроспекции классов, методов, полей и их атрибутов, а также возможность динамически создавать объекты, вызывать методы и получать/устанавливать значения полей, даже если имена этих элементов неизвестны на этапе компиляции.
Основные возможности рефлексии в Java:
Class
объекта: Представляет собой описание класса или интерфейса. Получается через Object.getClass()
, .class
синтаксис или Class.forName()
.getFields()
, getDeclaredFields()
: Получение информации о полях.getMethods()
, getDeclaredMethods()
: Получение информации о методах.getConstructors()
, getDeclaredConstructors()
: Получение информации о конструкторах.Class.newInstance()
(устарел) или Constructor.newInstance()
.Method.invoke()
.Field.get()
и Field.set()
.getAnnotations()
.Плюсы рефлексии:
Минусы рефлексии:
Register or sign in to get access to full answers for all questions from the question bank.