- 所有已实现的接口:
-
AnnotatedElement,Member
Field提供了关于类或接口的单个字段的信息和动态访问。反射字段可以是类(静态)字段或实例字段。
Field允许在获取或设置访问操作期间进行扩展转换,但如果发生缩小转换,则会抛出IllegalArgumentException。
- 自:
- 1.1
- 参见:
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescription返回此字段的Field的不可修改的访问标志集,可能为空。boolean将此Field与指定对象进行比较。返回由此Field表示的字段的值,位于指定对象上。返回一个AnnotatedType对象,该对象表示用于指定由此Field表示的字段的声明类型的类型的使用。<T extends Annotation>
TgetAnnotation(Class<T> annotationClass) 如果此注释存在,则返回指定类型的此元素的注释,否则返回null。<T extends Annotation>
T[]getAnnotationsByType(Class<T> annotationClass) 返回与此元素关联的注释。booleangetBoolean(Object obj) 获取静态或实例boolean字段的值。byte获取静态或实例byte字段的值。char获取类型为char或通过扩展转换可转换为char类型的另一种原始类型的静态或实例字段的值。Class<?> 返回表示声明由此Field对象表示的字段的类或接口的Class对象。double获取类型为double或通过扩展转换可转换为double类型的另一种原始类型的静态或实例字段的值。float获取类型为float或通过扩展转换可转换为float类型的另一种原始类型的静态或实例字段的值。返回一个Type对象,该对象表示由此Field对象表示的字段的声明类型。int获取类型为int或通过扩展转换可转换为int类型的另一种原始类型的静态或实例字段的值。long获取类型为long或通过扩展转换可转换为long类型的另一种原始类型的静态或实例字段的值。int返回由此Field对象表示的字段的Java语言修饰符,作为整数。getName()返回由此Field对象表示的字段的名称。short获取类型为short或通过扩展转换可转换为short类型的另一种原始类型的静态或实例字段的值。Class<?> getType()返回一个Class对象,该对象标识由此Field对象表示的字段的声明类型。inthashCode()返回此Field的哈希码。boolean如果此字段表示枚举类的元素,则返回true;否则返回false。boolean如果此字段是合成字段,则返回true;否则返回false。void将由此Field对象表示的字段设置为指定对象参数的指定新值。voidsetAccessible(boolean flag) 将此反射对象的accessible标志设置为指定的布尔值。voidsetBoolean(Object obj, boolean z) 将字段作为boolean在指定对象上设置为值。void将字段作为byte在指定对象上设置为值。void将字段作为char在指定对象上设置为值。void将字段作为double在指定对象上设置为值。void将字段作为float在指定对象上设置为值。void将字段作为int在指定对象上设置为值。void将字段作为long在指定对象上设置为值。void将字段作为short在指定对象上设置为值。返回描述此Field的字符串,包括其通用类型。toString()返回描述此Field的字符串。Methods declared in class java.lang.reflect.AccessibleObject
canAccess, getAnnotations, getDeclaredAnnotation, getDeclaredAnnotations, getDeclaredAnnotationsByType, isAccessible, isAnnotationPresent, setAccessible, trySetAccessible
-
Method Details
-
setAccessible
public void setAccessible(boolean flag) 从类中复制的描述:AccessibleObject将此反射对象的accessible标志设置为指定的布尔值。值为true表示反射对象在使用时应该抑制Java语言访问控制检查。值为false表示反射对象在使用时应该执行Java语言访问控制检查,注意类描述中指出的变化。调用者在类
C中可以使用此方法来启用对声明类D的成员的访问,如果满足以下任何条件:C和D在同一模块中。- 成员是
public的,D在将D包含的模块至少导出到包含C的模块。 - 成员是
protectedstatic的,D在将D包含的模块至少导出到包含C的模块,并且C是D的子类。 D在将D包含的模块至少打开到包含C的模块。未命名模块和打开模块中的所有包都对所有模块开放,因此当D在未命名或打开模块中时,此方法始终成功。
JNI代码可以使用此方法,堆栈上没有调用者类,以启用对
声明类D的成员的访问,仅当:- 成员是
public的,D在将D包含的模块无条件导出。
此方法不能用于启用对私有成员、具有默认(包)访问权限的成员、受保护的实例成员或受保护的构造函数的访问权限,当声明类与调用者的模块不同且包含声明类的包对调用者的模块不开放时。
此方法不能用于启用对不可修改的最终字段的写访问。以下字段是不可修改的:
当
accessible标志为true时,仅抑制Java语言访问控制检查以仅启用对这些不可修改的最终字段的读访问。如果存在安全管理器,则首先调用其
checkPermission方法,其中包含ReflectPermission("suppressAccessChecks")权限。- 覆盖:
-
setAccessible在类AccessibleObject中 - 参数:
-
flag-accessible标志的新值 - 抛出:
-
InaccessibleObjectException- 如果无法启用访问权限 -
SecurityException- 如果安全管理器拒绝请求 - 外部规范
- 参见:
-
getDeclaringClass
返回表示由此Field对象表示的字段的类或接口的Class对象。- 指定者:
-
getDeclaringClass在接口Member中 - 返回:
- 表示底层成员的声明类的对象
-
getName
Returns the name of the field represented by thisFieldobject. -
getModifiers
public int getModifiers()返回表示此Field对象的字段的Java语言修饰符,以整数形式。应使用Modifier类来解码修饰符。- 指定者:
-
getModifiers在接口Member中 - 返回:
- 底层成员的Java语言修饰符
- 参见 Java语言规范:
-
8.3 字段声明
9.3 字段(常量)声明
- 另请参见:
-
accessFlags
返回此字段的 访问标志 的不可修改集合,可能为空。- 指定者:
-
accessFlags在接口Member中 - 返回:
- 此字段的 访问标志 的不可修改集合,可能为空
- 参见 Java虚拟机规范:
-
4.5 字段
- 自:
- 20
- 另请参见:
-
isEnumConstant
public boolean isEnumConstant()如果此字段表示枚举类的元素,则返回true;否则返回false。- 返回:
-
如果此字段仅表示枚举类的元素,则返回
true。 - 参见 Java语言规范:
-
8.9.1 枚举常量
- 自:
- 1.5
-
isSynthetic
public boolean isSynthetic()如果此字段是合成字段,则返回true;否则返回false。- 指定者:
-
isSynthetic在接口Member中 - 返回:
- 如果此字段是由Java语言规范定义的合成字段,则返回true。
- 自:
- 1.5
- 另请参见:
-
getType
返回一个标识由此Field对象表示的字段的声明类型的Class对象。- 返回:
-
一个标识由此对象表示的字段的声明类型的
Class对象
-
getGenericType
返回一个代表由此Field对象表示的字段的声明类型的Type对象。如果字段的声明类型是参数化类型,则返回的
Type对象必须准确反映源代码中使用的实际类型参数。如果底层字段的类型是类型变量或参数化类型,则会创建它。否则,它会被解析。
- 返回:
-
代表由此
Field对象表示的字段的声明类型的Type对象 - 抛出:
-
GenericSignatureFormatError- 如果通用字段签名不符合 Java虚拟机规范 中指定的格式 -
TypeNotPresentException- 如果底层字段的通用类型签名引用不存在的类或接口声明 -
MalformedParameterizedTypeException- 如果底层字段的通用签名引用参数化类型,但由于任何原因无法实例化 - 自:
- 1.5
-
equals
将此Field与指定对象进行比较。如果对象相同,则返回true。如果两个Field对象由同一类声明并且具有相同的名称和类型,则它们相同。 -
hashCode
public int hashCode()返回此Field的哈希码。计算方法是底层字段的声明类名称和字段名称的哈希码的异或。 -
toString
返回描述此Field的字符串。格式为字段的访问修饰符(如果有),后跟字段类型,后跟一个空格,后跟声明字段的类的完全限定名称,后跟一个句点,后跟字段的名称。例如:public static final int java.lang.Thread.MIN_PRIORITY private int java.io.FileDescriptor.fd修饰符按照《Java语言规范》规定的规范顺序放置。首先是
public、protected或private,然后是以下顺序的其他修饰符:static、final、transient、volatile。- 覆盖:
-
toString在类Object中 - 返回:
-
描述此
Field的字符串 - 参见 Java语言规范:
-
8.3.1 字段修饰符
-
toGenericString
返回描述此Field的字符串,包括其通用类型。格式为字段的访问修饰符(如果有),后跟通用字段类型,后跟一个空格,后跟声明字段的类的完全限定名称,后跟一个句点,后跟字段的名称。修饰符按照《Java语言规范》规定的规范顺序放置。首先是
public、protected或private,然后是以下顺序的其他修饰符:static、final、transient、volatile。- 返回:
-
描述此
Field的字符串,包括其通用类型 - 参见 Java语言规范:
-
8.3.1 字段修饰符
- 自:
- 1.5
-
get
返回由此Field表示的字段在指定对象上的值。如果值具有原始类型,则自动将其包装在对象中。底层字段的值获取方式如下:
如果底层字段是静态字段,则忽略
obj参数;它可以为null。否则,底层字段是实例字段。如果指定的
obj参数为null,则该方法会抛出NullPointerException。如果指定的对象不是声明底层字段的类或接口的实例,则该方法会抛出IllegalArgumentException。如果此
Field对象正在执行Java语言访问控制,并且底层字段不可访问,则该方法会抛出IllegalAccessException。如果底层字段是静态的,则声明该字段的类将在尚未初始化的情况下初始化。否则,从底层实例或静态字段检索值。如果字段具有原始类型,则在返回之前将该值包装在对象中,否则按原样返回。
如果字段在
obj的类型中被隐藏,则根据前述规则获取字段的值。- 参数:
-
obj- 要提取其表示字段值的对象 - 返回:
-
对象
obj中表示字段的值;在返回之前,原始值将被包装在适当的对象中 - 抛出:
-
IllegalAccessException- 如果此Field对象正在执行Java语言访问控制,并且底层字段不可访问。 -
IllegalArgumentException- 如果指定的对象不是声明底层字段的类或接口的实例(或其子类或实现者)。 -
NullPointerException- 如果指定的对象为null且字段是实例字段。 -
ExceptionInInitializerError- 如果此方法引发的初始化失败。
-
getBoolean
获取静态或实例boolean字段的值。- 参数:
-
obj- 从中提取boolean值的对象 - 返回:
-
boolean字段的值 - 抛出:
-
IllegalAccessException- 如果此Field对象正在执行Java语言访问控制,并且底层字段不可访问。 -
IllegalArgumentException- 如果指定的对象不是声明底层字段的类或接口的实例(或其子类或实现者),或者字段值无法通过扩展转换转换为类型boolean。 -
NullPointerException- 如果指定的对象为null且字段是实例字段。 -
ExceptionInInitializerError- 如果此方法引发的初始化失败。 - 参见:
-
getByte
获取静态或实例byte字段的值。- 参数:
-
obj- 从中提取byte值的对象 - 返回:
-
byte字段的值 - 抛出:
-
IllegalAccessException- 如果此Field对象正在执行Java语言访问控制,并且底层字段不可访问。 -
IllegalArgumentException- 如果指定的对象不是声明底层字段的类或接口的实例(或其子类或实现者),或者字段值无法通过扩展转换转换为类型byte。 -
NullPointerException- 如果指定的对象为null且字段是实例字段。 -
ExceptionInInitializerError- 如果此方法引发的初始化失败。 - 参见:
-
getChar
获取静态或实例char类型字段的值,或通过扩展转换转换为类型char的另一种原始类型的字段值。- 参数:
-
obj- 从中提取char值的对象 - 返回:
-
转换为类型
char的字段值 - 抛出:
-
IllegalAccessException- 如果此Field对象正在执行Java语言访问控制,并且底层字段不可访问。 -
IllegalArgumentException- 如果指定的对象不是声明底层字段的类或接口的实例(或其子类或实现者),或者字段值无法通过扩展转换转换为类型char。 -
NullPointerException- 如果指定的对象为null且字段是实例字段。 -
ExceptionInInitializerError- 如果此方法引发的初始化失败。 - 参见:
-
getShort
获取静态或实例short类型字段的值,或通过扩展转换转换为类型short的另一种原始类型的字段值。- 参数:
-
obj- 从中提取short值的对象 - 返回:
-
转换为类型
short的字段值 - 抛出:
-
IllegalAccessException- 如果此Field对象正在执行Java语言访问控制,并且底层字段不可访问。 -
IllegalArgumentException- 如果指定的对象不是声明底层字段的类或接口的实例(或其子类或实现者),或者字段值无法通过扩展转换转换为类型short。 -
NullPointerException- 如果指定的对象为null且字段是实例字段。 -
ExceptionInInitializerError- 如果此方法引发的初始化失败。 - 参见:
-
getInt
获取静态或实例int类型字段的值,或通过扩展转换转换为类型int的另一种原始类型的字段值。- 参数:
-
obj- 从中提取int值的对象 - 返回:
-
转换为类型
int的字段值 - 抛出:
-
IllegalAccessException- 如果此Field对象正在执行Java语言访问控制,并且底层字段不可访问。 -
IllegalArgumentException- 如果指定的对象不是声明底层字段的类或接口的实例(或其子类或实现者),或者字段值无法通过扩展转换转换为类型int。 -
NullPointerException- 如果指定的对象为null且字段是实例字段。 -
ExceptionInInitializerError- 如果此方法引发的初始化失败。 - 参见:
-
getLong
获取静态或实例long类型字段的值,或通过扩展转换转换为类型long的另一种原始类型的字段值。- 参数:
-
obj- 从中提取long值的对象 - 返回:
-
转换为类型
long的字段值 - 抛出:
-
IllegalAccessException- 如果此Field对象正在执行Java语言访问控制,并且底层字段不可访问。 -
IllegalArgumentException- 如果指定的对象不是声明底层字段的类或接口的实例(或其子类或实现者),或者字段值无法通过扩展转换转换为类型long。 -
NullPointerException- 如果指定的对象为null且字段是实例字段。 -
ExceptionInInitializerError- 如果此方法引发的初始化失败。 - 参见:
-
getFloat
获取静态或实例float类型字段的值,或通过扩展转换转换为类型float的另一种原始类型的字段值。- 参数:
-
obj- 从中提取float值的对象 - 返回:
-
转换为
float类型的字段值 - 抛出:
-
IllegalAccessException- 如果此Field对象正在执行Java语言访问控制,并且底层字段不可访问。 -
IllegalArgumentException- 如果指定的对象不是声明底层字段的类或接口的实例(或其子类或实现者),或者字段值无法通过扩展转换为float类型。 -
NullPointerException- 如果指定的对象为null且字段为实例字段。 -
ExceptionInInitializerError- 如果此方法引发的初始化失败。 - 参见:
-
getDouble
获取类型为double或通过扩展转换为double的其他原始类型的静态或实例字段的值。- 参数:
-
obj- 从中提取double值的对象 - 返回:
-
转换为
double类型的字段值 - 抛出:
-
IllegalAccessException- 如果此Field对象正在执行Java语言访问控制,并且底层字段不可访问。 -
IllegalArgumentException- 如果指定的对象不是声明底层字段的类或接口的实例(或其子类或实现者),或者字段值无法通过扩展转换为double类型。 -
NullPointerException- 如果指定的对象为null且字段为实例字段。 -
ExceptionInInitializerError- 如果此方法引发的初始化失败。 - 参见:
-
set
将此Field对象表示的字段设置为指定对象参数上的指定新值。如果底层字段具有原始类型,则新值将自动解包。操作如下进行:
如果底层字段是静态的,则忽略
obj参数;它可以为null。否则,底层字段是实例字段。如果指定的对象参数为null,则该方法会抛出
NullPointerException。如果指定的对象参数不是声明底层字段的类或接口的实例,则该方法会抛出IllegalArgumentException。如果此
Field对象正在执行Java语言访问控制,并且底层字段不可访问,则该方法会抛出IllegalAccessException。如果底层字段是final的,则仅当满足以下条件时,此
Field对象具有写访问权限:setAccessible(true)对此Field对象成功;- 字段非静态;且
- 字段的声明类不是隐藏类;且
- 字段的声明类不是记录类。
IllegalAccessException。以这种方式设置最终字段仅在类的实例在程序的其他部分访问之前进行反序列化或重建期间才有意义。在任何其他上下文中使用可能会产生不可预测的效果,包括其他程序部分继续使用该字段的原始值的情况。
如果底层字段是原始类型,则会尝试进行解包转换以将新值转换为原始类型的值。如果此尝试失败,则该方法会抛出
IllegalArgumentException。如果在可能的解包后,新值无法通过标识或扩展转换转换为底层字段的类型,则该方法会抛出
IllegalArgumentException。如果底层字段是静态的,则在尚未初始化的情况下初始化声明字段的类。
字段设置为可能解包和扩展的新值。
如果字段在
obj类型中被隐藏,则根据前述规则设置字段的值。- 参数:
-
obj- 应修改其字段的对象 -
value- 要修改的obj字段的新值 - 抛出:
-
IllegalAccessException- 如果此Field对象正在执行Java语言访问控制,并且底层字段不可访问或为final;或者如果此Field对象没有写访问权限。 -
IllegalArgumentException- 如果指定的对象不是声明底层字段的类或接口的实例(或其子类或实现者),或者解包转换失败。 -
NullPointerException- 如果指定的对象为null且字段为实例字段。 -
ExceptionInInitializerError- 如果此方法引发的初始化失败。
-
setBoolean
public void setBoolean(Object obj, boolean z) throws IllegalArgumentException, IllegalAccessException 将字段的值设置为boolean类型的值在指定对象上。此方法等效于set(obj, zObj),其中zObj是一个Boolean对象且zObj.booleanValue() == z。- 参数:
-
obj- 应修改其字段的对象 -
z- 要修改的obj字段的新值 - 抛出:
-
IllegalAccessException- 如果此Field对象正在执行Java语言访问控制,并且底层字段不可访问或为final;或者如果此Field对象没有写访问权限。 -
IllegalArgumentException- 如果指定的对象不是声明底层字段的类或接口的实例(或其子类或实现者),或者解包转换失败。 -
NullPointerException- 如果指定的对象为null且字段为实例字段。 -
ExceptionInInitializerError- 如果此方法引发的初始化失败。 - 参见:
-
setByte
将字段的值设置为byte类型的值在指定对象上。此方法等效于set(obj, bObj),其中bObj是一个Byte对象且bObj.byteValue() == b。- 参数:
-
obj- 应修改其字段的对象 -
b- 要修改的obj字段的新值 - 抛出:
-
IllegalAccessException- 如果此Field对象正在执行Java语言访问控制,并且底层字段不可访问或为final;或者如果此Field对象没有写访问权限。 -
IllegalArgumentException- 如果指定的对象不是声明底层字段的类或接口的实例(或其子类或实现者),或者解包转换失败。 -
NullPointerException- 如果指定的对象为null且字段为实例字段。 -
ExceptionInInitializerError- 如果此方法引发的初始化失败。 - 参见:
-
setChar
将字段的值设置为char类型的值在指定对象上。此方法等效于set(obj, cObj),其中cObj是一个Character对象且cObj.charValue() == c。- 参数:
-
obj- 应修改其字段的对象 -
c- 要修改的obj字段的新值 - 抛出:
-
IllegalAccessException- 如果此Field对象正在执行Java语言访问控制,并且底层字段是不可访问或final;或者如果此Field对象没有写访问权限。 -
IllegalArgumentException- 如果指定的对象不是声明底层字段的类或接口的实例(或其子类或实现类),或者解包转换失败。 -
NullPointerException- 如果指定的对象为null且字段为实例字段。 -
ExceptionInInitializerError- 如果此方法引发的初始化失败。 - 参见:
-
setShort
将字段的值设置为short在指定的对象上。此方法等效于set(obj, sObj),其中sObj是一个Short对象,且sObj.shortValue() == s。- 参数:
-
obj- 应修改其字段的对象 -
s- 要修改的obj字段的新值 - 抛出:
-
IllegalAccessException- 如果此Field对象正在执行Java语言访问控制,并且底层字段是不可访问或final;或者如果此Field对象没有写访问权限。 -
IllegalArgumentException- 如果指定的对象不是声明底层字段的类或接口的实例(或其子类或实现类),或者解包转换失败。 -
NullPointerException- 如果指定的对象为null且字段为实例字段。 -
ExceptionInInitializerError- 如果此方法引发的初始化失败。 - 参见:
-
setInt
将字段的值设置为int在指定的对象上。此方法等效于set(obj, iObj),其中iObj是一个Integer对象,且iObj.intValue() == i。- 参数:
-
obj- 应修改其字段的对象 -
i- 要修改的obj字段的新值 - 抛出:
-
IllegalAccessException- 如果此Field对象正在执行Java语言访问控制,并且底层字段是不可访问或final;或者如果此Field对象没有写访问权限。 -
IllegalArgumentException- 如果指定的对象不是声明底层字段的类或接口的实例(或其子类或实现类),或者解包转换失败。 -
NullPointerException- 如果指定的对象为null且字段为实例字段。 -
ExceptionInInitializerError- 如果此方法引发的初始化失败。 - 参见:
-
setLong
将字段的值设置为long在指定的对象上。此方法等效于set(obj, lObj),其中lObj是一个Long对象,且lObj.longValue() == l。- 参数:
-
obj- 应修改其字段的对象 -
l- 要修改的obj字段的新值 - 抛出:
-
IllegalAccessException- 如果此Field对象正在执行Java语言访问控制,并且底层字段是不可访问或final;或者如果此Field对象没有写访问权限。 -
IllegalArgumentException- 如果指定的对象不是声明底层字段的类或接口的实例(或其子类或实现类),或者解包转换失败。 -
NullPointerException- 如果指定的对象为null且字段为实例字段。 -
ExceptionInInitializerError- 如果此方法引发的初始化失败。 - 参见:
-
setFloat
将字段的值设置为float在指定的对象上。此方法等效于set(obj, fObj),其中fObj是一个Float对象,且fObj.floatValue() == f。- 参数:
-
obj- 应修改其字段的对象 -
f- 要修改的obj字段的新值 - 抛出:
-
IllegalAccessException- 如果此Field对象正在执行Java语言访问控制,并且底层字段是不可访问或final;或者如果此Field对象没有写访问权限。 -
IllegalArgumentException- 如果指定的对象不是声明底层字段的类或接口的实例(或其子类或实现类),或者解包转换失败。 -
NullPointerException- 如果指定的对象为null且字段为实例字段。 -
ExceptionInInitializerError- 如果此方法引发的初始化失败。 - 参见:
-
setDouble
将字段的值设置为double在指定的对象上。此方法等效于set(obj, dObj),其中dObj是一个Double对象,且dObj.doubleValue() == d。- 参数:
-
obj- 应修改其字段的对象 -
d- 要修改的obj字段的新值 - 抛出:
-
IllegalAccessException- 如果此Field对象正在执行Java语言访问控制,并且底层字段是不可访问或final;或者如果此Field对象没有写访问权限。 -
IllegalArgumentException- 如果指定的对象不是声明底层字段的类或接口的实例(或其子类或实现类),或者解包转换失败。 -
NullPointerException- 如果指定的对象为null且字段为实例字段。 -
ExceptionInInitializerError- 如果此方法引发的初始化失败。 - 参见:
-
getAnnotation
如果存在指定类型的注释,则返回此元素的注释,否则返回null。请注意,此方法返回的任何注释都是声明注释。
- 指定者:
-
getAnnotation在接口AnnotatedElement中 - 覆盖:
-
getAnnotation在类AccessibleObject中 - 类型参数:
-
T- 要查询并返回的注释类型 - 参数:
-
annotationClass- 对应于注释类型的Class对象 - 返回:
- 如果此元素上存在指定注释类型的注释,则返回该元素的注释,否则返回null
- 抛出:
-
NullPointerException- 如果给定的注释类为null - 自Java版本:
- 1.5
-
getAnnotationsByType
返回与此元素关联的注解。如果没有与此元素关联的注解,则返回值是长度为0的数组。此方法与AnnotatedElement.getAnnotation(Class)之间的区别在于,此方法会检测其参数是否为可重复注解类型(JLS 9.6),如果是,则尝试通过“查找”容器注解来找到一个或多个该类型的注解。调用此方法的对象可以修改返回的数组;这不会影响返回给其他调用者的数组。请注意,此方法返回的任何注解都是声明注解。
- 指定者:
-
getAnnotationsByType在接口AnnotatedElement - 覆盖:
-
getAnnotationsByType在类AccessibleObject - 类型参数:
-
T- 要查询并返回的注解类型 - 参数:
-
annotationClass- 对应于注解类型的Class对象 - 返回:
- 如果与此元素关联,则返回指定注解类型的所有此元素的注解,否则返回长度为零的数组
- 抛出:
-
NullPointerException- 如果给定的注解类为null - 自:
- 1.8
-
getAnnotatedType
返回一个AnnotatedType对象,表示用于指定由此Field表示的字段的声明类型的类型使用。- 返回:
- 表示由此Field表示的字段的声明类型的对象
- 自:
- 1.8
-