Я использую некоторые аннотации для динамического задания значений полей в классах. Поскольку я хочу сделать это независимо от того, является ли он общедоступным, защищенным или закрытым, я каждый раз вызываю setAccessible(true)
в поле объект перед вызовом метода set()
. Мой вопрос: какое влияние вызывает вызов setAccessible()
на самом поле?
В частности, скажем, это личное поле и этот набор кодовых вызовов setAccessible(true)
. Если какое-то другое место в этом коде было для получения того же поля через отражение, было бы поле уже доступно? Или методы getDeclaredFields()
и getDeclaredField()
возвращают новые экземпляры объекта Field каждый раз?
Я предполагаю, что другой способ задать вопрос, если я назову setAccessible(true)
, насколько важно вернуть его к исходному значению после того, как я закончил?