|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.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)
,
RuntimePermission
public boolean isAccessible()
public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
AnnotatedElement
複製的描述
AnnotatedElement
中的 getAnnotation
annotationClass
- 對應於註釋型別的 Class 物件
NullPointerException
- 如果給定的註釋類別為 nullpublic boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
AnnotatedElement
複製的描述
AnnotatedElement
中的 isAnnotationPresent
annotationClass
- 對應於註釋型別的 Class 物件
NullPointerException
- 如果給定的註釋類別為 nullpublic Annotation[] getAnnotations()
AnnotatedElement
複製的描述
AnnotatedElement
中的 getAnnotations
public Annotation[] getDeclaredAnnotations()
AnnotatedElement
複製的描述
AnnotatedElement
中的 getDeclaredAnnotations
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。