|
JavaTM 2 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 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。