【发布时间】:2012-05-25 05:07:00
【问题描述】:
我正在使用一些注释来动态设置类中字段的值。由于无论它是公共的、受保护的还是私有的,我都想执行此操作,因此每次在调用 set() 方法之前,我都会在 Field 对象上调用 setAccessible(true)。我的问题是setAccessible() 电话对球场本身有什么样的影响?
更具体地说,假设它是一个私有字段,并且这组代码调用setAccessible(true)。如果代码中的其他地方是通过反射检索相同的字段,该字段是否已经可以访问?还是 getDeclaredFields() 和 getDeclaredField() 方法每次都返回一个 Field 对象的新实例?
我想另一种表述问题的方式是,如果我打电话给setAccessible(true),完成后将其恢复为原始值有多重要?
【问题讨论】:
标签: java reflection