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