Estoy usando algunas anotaciones para establecer dinámicamente valores de campos en clases. Como quiero hacer esto independientemente de si es público, protegido o privado, llamo al setAccessible(true)
en el objeto Field cada vez antes de llamar al método set()
. Mi pregunta es ¿qué tipo de impacto tiene la llamada setAccessible()
en el campo mismo?Reflejo de Java: impacto de setAccessible (verdadero)
Más específicamente, supongamos que es un campo privado y este conjunto de códigos llama al setAccessible(true)
. Si algún otro lugar en el código fuera recuperar el mismo campo a través de la reflexión, ¿el campo ya estaría accesible? ¿O los métodos getDeclaredFields()
y getDeclaredField()
devuelven nuevas instancias de un objeto Field cada vez?
Supongo que otra forma de plantear la pregunta es si llamo al setAccessible(true)
, ¿qué importancia tiene volver al valor original una vez que haya terminado?
Como soy vago, y pensé que alguien Ya sabía la respuesta de la parte superior de su cabeza. :) Gracias por la info. – dnc253
... y porque probarse significa que usted conoce su implementación particular, pero eso no significa necesariamente que el comportamiento resultante sea el correcto. :) – Devolus
"¿Por qué no lo intentas tú mismo?" no es una crítica adecuada para una pregunta de desbordamiento de pila. Este sitio web es una base de conocimiento. Preguntas como esta son el punto. –