JavaTM 2 Platform
Standard Ed. 6

java.lang.reflect
類別 AccessibleObject

java.lang.Object
  繼承者 java.lang.reflect.AccessibleObject
所有已實作的介面:
AnnotatedElement
直接已知子類別:
Constructor, Field, Method

public class AccessibleObject
extends Object
implements AnnotatedElement

AccessibleObject 類別是 Field、Method 和 Constructor 物件的基礎類別。它提供了將反射的物件標記為在使用時取消預設 Java 語言存取控制檢查的能力。對於公共成員、預設(打包)存取成員、受保護成員和私有成員,在分別使用 Field、Method 或 Constructor 物件來設置或獲取欄位、調用方法,或者創建和初始化類別的新實例的時候,會執行存取檢查。

在反射物件中設置 accessible 標誌允許具有足夠特權的複雜應用程序(比如 Java Object Serialization 或其他持久性機制)以某種通常禁止使用的方式來操作物件。

從以下版本開始:
1.2
另請參見:
Field, Method, Constructor, ReflectPermission

建構子摘要
protected AccessibleObject()
          建構子:僅供 Java 虛擬機器使用。
 
方法摘要
<T extends Annotation>
T
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
 

建構子詳細資訊

AccessibleObject

protected AccessibleObject()
建構子:僅供 Java 虛擬機器使用。

方法詳細資訊

setAccessible

public static void setAccessible(AccessibleObject[] array,
                                 boolean flag)
                          throws SecurityException
使用單一安全性檢查(為了提高效率)為一組物件設置 accessible 標誌的便捷方法。

首先,如果存在安全管理器,則在 ReflectPermission("suppressAccessChecks") 權限下調用 checkPermission 方法。

如果 flagtrue,但是不能更改輸入 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 方法。

如果 flagtrue,並且不能更改此物件的可存取性(例如,如果此元素物件是 Class 類別的 Constructor 物件),則會引發 SecurityException

如果此物件是 java.lang.Class 類別的 Constructor 物件,並且 flag 為 true,則會引發 SecurityException

參數:
flag - accessible 標誌的新值
拋出:
SecurityException - 如果請求被拒絕。
另請參見:
SecurityManager.checkPermission(java.security.Permission), RuntimePermission

isAccessible

public boolean isAccessible()
獲取此物件的 accessible 標誌的值。

返回:
此物件的 accessible 標誌的值。

getAnnotation

public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
從介面 AnnotatedElement 複製的描述
如果存在該元素的指定型別的註釋,則返回這些註釋,否則返回 null。

指定者:
介面 AnnotatedElement 中的 getAnnotation
參數:
annotationClass - 對應於註釋型別的 Class 物件
返回:
如果該元素的指定註釋型別的註釋存在於此物件上,則返回這些註釋,否則返回 null
拋出:
NullPointerException - 如果給定的註釋類別為 null
從以下版本開始:
1.5

isAnnotationPresent

public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
從介面 AnnotatedElement 複製的描述
如果指定型別的註釋存在於此元素上,則返回 true,否則返回 false。此方法主要是為了便於存取標記註釋而設計的。

指定者:
介面 AnnotatedElement 中的 isAnnotationPresent
參數:
annotationClass - 對應於註釋型別的 Class 物件
返回:
如果指定註釋型別的註釋存在於此物件上,則返回 true,否則返回 false
拋出:
NullPointerException - 如果給定的註釋類別為 null
從以下版本開始:
1.5

getAnnotations

public Annotation[] getAnnotations()
從介面 AnnotatedElement 複製的描述
返回此元素上存在的所有註釋。(如果此元素沒有註釋,則返回長度為零的陣列。)該方法的調用者可以隨意修改返回的陣列;這不會對其他調用者返回的陣列產生任何影響。

指定者:
介面 AnnotatedElement 中的 getAnnotations
返回:
此元素上存在的所有註釋
從以下版本開始:
1.5

getDeclaredAnnotations

public Annotation[] getDeclaredAnnotations()
從介面 AnnotatedElement 複製的描述
返回直接存在於此元素上的所有註釋。與此介面中的其他方法不同,該方法將忽略繼承的註釋。(如果沒有註釋直接存在於此元素上,則返回長度為零的一個陣列。)該方法的調用者可以隨意修改返回的陣列;這不會對其他調用者返回的陣列產生任何影響。

指定者:
介面 AnnotatedElement 中的 getDeclaredAnnotations
返回:
直接存在於此元素上的所有註釋
從以下版本開始:
1.5

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only