时间:2021-07-01 10:21:17 帮助过:2人阅读
setAccessible(AccessibleObject[] array, boolean flag)
void
setAccessible(boolean flag)
setAccessible
public static void setAccessible(AccessibleObject[] array, boolean flag) throws SecurityException
- 使用单一安全性检查(为了提高效率)为一组对象设置 accessible 标志的便捷方法。
首先,如果存在安全管理器,则在
ReflectPermission("suppressAccessChecks")
权限下调用checkPermission
方法。如果
flag
为true
,但是不能更改输入array
的任何元素的可访问性(例如,如果元素对象是Class
类的Constructor
对象),则会引发SecurityException
。如果发生 SecurityException,对于少于(不包括)发生异常的元素的数组元素,可以将对象的可访问性设置为flag
;对于超出(包括)引发异常的元素的那些元素,则不更改其可访问性。
- 参数:
array
- AccessibleObjects 的数组flag
- 每个对象中的 accessible 标志的新值- 抛出:
SecurityException
- 如果请求被拒绝。- 另请参见:
SecurityManager.checkPermission(java.security.Permission)
,RuntimePermission
setAccessible
public void setAccessible(boolean flag) throws SecurityException
- 将此对象的 accessible 标志设置为指示的布尔值。值为 true 则指示反射的对象在使用时应该取消 Java 语言访问检查。值为 false 则指示反射的对象应该实施 Java 语言访问检查。
首先,如果存在安全管理器,则在
ReflectPermission("suppressAccessChecks")
权限下调用checkPermission
方法。如果
flag
为true
,并且不能更改此对象的可访问性(例如,如果此元素对象是Class
类的Constructor
对象),则会引发SecurityException
。如果此对象是
java.lang.Class
类的Constructor
对象,并且flag
为 true,则会引发SecurityException
。
- 参数:
flag
- accessible 标志的新值- 抛出:
SecurityException
- 如果请求被拒绝。- 另请参见:
SecurityManager.checkPermission(java.security.Permission)
,RuntimePermission
Java 反射调用私有域和方法(setAccessible)
标签: