|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.lang.reflect.AccessibleObject
public class AccessibleObject
AccessibleObject 类是 Field、Method 和 Constructor 对象的基类。它提供了将反射的对象标记为在使用时取消默认 Java 语言访问控制检查的能力。对于公共成员、默认(打包)访问成员、受保护成员和私有成员,在分别使用 Field、Method 或 Constructor 对象来设置或获取字段、调用方法,或者创建和初始化类的新实例的时候,会执行访问检查。
在反射对象中设置 accessible 标志允许具有足够特权的复杂应用程序(比如 Java Object Serialization 或其他持久性机制)以某种通常禁止使用的方式来操作对象。
Field,
Method,
Constructor,
ReflectPermission| 构造方法摘要 | |
|---|---|
protected |
AccessibleObject()
构造方法:仅供 Java 虚拟机使用。 |
| 方法摘要 | ||
|---|---|---|
|
getAnnotation(Class<T> annotationClass)
如果存在该元素的指定类型的注释,则返回这些注释,否则返回 null。 |
|
Annotation[] |
getAnnotations()
返回此元素上存在的所有注释。 |
|
Annotation[] |
getDeclaredAnnotations()
返回直接存在于此元素上的所有注释。 |
|
boolean |
isAccessible()
获取此对象的 accessible 标志的值。 |
|
boolean |
isAnnotationPresent(Class<? extends Annotation> annotationClass)
如果指定类型的注释存在于此元素上,则返回 true,否则返回 false。 |
|
static void |
setAccessible(AccessibleObject[] array,
boolean flag)
使用单一安全性检查(为了提高效率)为一组对象设置 accessible 标志的便捷方法。 |
|
void |
setAccessible(boolean flag)
将此对象的 accessible 标志设置为指示的布尔值。 |
|
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 构造方法详细信息 |
|---|
protected AccessibleObject()
| 方法详细信息 |
|---|
public static void setAccessible(AccessibleObject[] array,
boolean flag)
throws SecurityException
首先,如果存在安全管理器,则在 ReflectPermission("suppressAccessChecks") 权限下调用 checkPermission 方法。
如果 flag 为 true,但是不能更改输入 array 的任何元素的可访问性(例如,如果元素对象是 Class 类的 Constructor 对象),则会引发 SecurityException。如果发生 SecurityException,对于少于(不包括)发生异常的元素的数组元素,可以将对象的可访问性设置为 flag;对于超出(包括)引发异常的元素的那些元素,则不更改其可访问性。
array - AccessibleObjects 的数组flag - 每个对象中的 accessible 标志的新值
SecurityException - 如果请求被拒绝。SecurityManager.checkPermission(java.security.Permission),
RuntimePermission
public void setAccessible(boolean flag)
throws SecurityException
首先,如果存在安全管理器,则在 ReflectPermission("suppressAccessChecks") 权限下调用 checkPermission 方法。
如果 flag 为 true,并且不能更改此对象的可访问性(例如,如果此元素对象是 Class 类的 Constructor 对象),则会引发 SecurityException。
如果此对象是 java.lang.Class 类的 Constructor 对象,并且 flag 为 true,则会引发 SecurityException。
flag - accessible 标志的新值
SecurityException - 如果请求被拒绝。SecurityManager.checkPermission(java.security.Permission),
RuntimePermissionpublic boolean isAccessible()
public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
AnnotatedElement 复制的描述
AnnotatedElement 中的 getAnnotationannotationClass - 对应于注释类型的 Class 对象
NullPointerException - 如果给定的注释类为 nullpublic boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
AnnotatedElement 复制的描述
AnnotatedElement 中的 isAnnotationPresentannotationClass - 对应于注释类型的 Class 对象
NullPointerException - 如果给定的注释类为 nullpublic Annotation[] getAnnotations()
AnnotatedElement 复制的描述
AnnotatedElement 中的 getAnnotationspublic Annotation[] getDeclaredAnnotations()
AnnotatedElement 复制的描述
AnnotatedElement 中的 getDeclaredAnnotations
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。