当前位置 类层次 (JDK) 所有类 (JDK) 所有域和方法 (JDK)

类 java.lang.reflect.Field

java.lang.Object
   |
   +----java.lang.reflect.Field

public final class Field
extends Object
implements Member

Field 提供相关信息、动态存取、类的单个域或接口。镜像域可以是一个类 (静态的) 域或实例域。

获取或设置操作期间允许 Field 域进行扩展转换,但若发生缩减转换则抛出 IllegalArgumentException 。

参见:
Member, Class, getFields, getField, getDeclaredFields, getDeclaredField

方法索引

equals(Object)
该对域与指定对象作比较。
get(Object)
返回指定对象上该 Field 表示的值。
getBoolean(Object)
以 boolean 类型获取指定对象上的域值。
getByte(Object)
以 byte 类型获取指定对象上的域值。
getChar(Object)
以 char 类型获取指定对象上的域值。
getDeclaringClass()
返回表示类或接口的 Class 对象,此类或接口用于说明该 Field 对象表示的构造子。
getDouble(Object)
以 double 类型获取指定对象上的域值。
getFloat(Object)
以 float 类型获取指定对象上的域值。
getInt(Object)
以 int 类型获取指定对象上的域值。
getLong(Object)
以 long 类型获取指定对象上的的域值。
getModifiers()
以 integer 类型返回该 Field 对象所表示域的 Java 语言修饰词。
getName()
返回该 Field 对象表示的域名。
getShort(Object)
以 short 类型获取指定对象上的域值。
getType()
返回一个 Class 对象,它标识该 Field 对象所表示域的说明类型。
hashCode()
返回该 Field 的散列码。
set(Object, Object)
将指定对象参数上该 Field 对象表示的域设置为指定新值。
setBoolean(Object, boolean)
以 boolean 类型设置指定对象上的域值。
setByte(Object, byte)
以 byte 类型设置指定对象上的域值。
setChar(Object, char)
以 char 类型设置指定对象上的域值。
setDouble(Object, double)
以 double 类型设置指定对象上的域值。
setFloat(Object, float)
以 float 类型设置指定对象上的域值。
setInt(Object, int)
以 int 类型设置指定对象上的域值。
setLong(Object, long)
以 long 类型设置指定对象上的域值。
setShort(Object, short)
以 short 类型设置指定对象上的域值。
toString()
返回描述该 Field 的字符串。

方法

getDeclaringClass
 public Class getDeclaringClass()
返回表示类或接口的 Class 对象,此类或接口用于说明该 Field 对象表示的域。

getName
 public String getName()
返回该 Field 对象所表示域的名字。

getModifiers
 public native int getModifiers()
以 integer 类型返回该 Field 对象所表示域的 Java 语言修饰词。使用该 Modifier 类为修饰词译码。

参见:
Modifier
getType
 public Class getType()
返回 Class 对象,它标识该 Filed 对象所表示域的说明类型。

equals
 public boolean equals(Object obj)
该对域与指定对象作比较。若相同则为 true 。若两个 Field 用相同类来说明且具有相同的名字和类型则相同。

覆盖:
Object 中的 equals
hashCode
 public int hashCode()
返回该 Field 的散列码。这是作为基本域名及其声明类名的散列码来进行异或计算的。

覆盖:
Object 中的 hashCode
toString
 public String toString()
返回描述该 Field 的字符串。若字符串后附带域类型、空格、声明域类的完整路径名、周期、域名,则格式是该域的访问修饰词。例如:
    public static final int java.lang.Thread.MIN_PRIORITY
    private int java.io.FileDescriptor.fd
 

修饰词按“Java 语言规范”指定的典型顺序放置。首先是 publicprotectedprivate , 然后将其它修饰词按下列次序放置: staticfinaltransientvolatile

覆盖:
Object 中的 toString
get
 public native Object get(Object obj) throws IllegalArgumentException, IllegalAccessException
返回指定对象上该 Field 所表示域的值。若该值有一个原始类型,则自动将其打包于某对象中。

按下列次序获得基本域值:

若基本域是静态域,则忽略对象参数;它可以为 null 。

否则, 基本域是一个实例域。若指定对象参数为 null , 则该方法抛出 NullPointerException 。若指定对象不是类的实例或不是声明基本域的接口,则该方法抛出 IllegalArgumentException 。

若该 Field 对象使 Java 语言存取控制和基本域不可存取,则该方法抛出 IllegalAccessException 。

否则, 从基本实例或静态域中获取该值。若域有原始类型,则返回前将该值打包于某对象中, 否则以原样返回。

抛出: IllegalAccessException
若基本构造子是不可存取的。
抛出: IllegalArgumentException
若指定对象不是类实例或声明基本域的接口。
抛出: NullPointerException
若指定对象为 null 。
getBoolean
 public native boolean getBoolean(Object obj) throws IllegalArgumentException, IllegalAccessException
以 boolean 类型获取指定对象上的域值。

抛出: IllegalAccessException
若基本构造子是不可存取的。
抛出: IllegalArgumentException
若域值不能被扩展转换转换成返回类型 。
参见:
get
getByte
 public native byte getByte(Object obj) throws IllegalArgumentException, IllegalAccessException
以 byte 类型获取指定对象上的域值。

抛出: IllegalAccessException
若基本构造子是不可存取的。
抛出: IllegalArgumentException
若域值不能被扩展转换转换成返回类型 。
参见:
get
getChar
 public native char getChar(Object obj) throws IllegalArgumentException, IllegalAccessException
以 char 类型获取指定对象上的域值。

抛出: IllegalAccessException
若基本构造子是不可存取的。
抛出: IllegalArgumentException
若域值不能被扩展转换转换成返回类型 。
参见:
get
getShort
 public native short getShort(Object obj) throws IllegalArgumentException, IllegalAccessException
以 short 类型获取指定对象上的域值。

抛出: IllegalAccessException
若基本构造子是不可存取的。
抛出: IllegalArgumentException
若域值不能被扩展转换转换成返回类型 。
参见:
get
getInt
 public native int getInt(Object obj) throws IllegalArgumentException, IllegalAccessException
以 int 类型获取指定对象上的域值。

抛出: IllegalAccessException
若基本构造子是不可存取的。
抛出: IllegalArgumentException
若域值不能被扩展转换转换成返回类型 。
参见:
get
getLong
 public native long getLong(Object obj) throws IllegalArgumentException, IllegalAccessException
以 long 类型获取指定对象上的的域值。

抛出: IllegalAccessException
若基本构造子是不可存取的。
抛出: IllegalArgumentException
若域值不能被扩展转换转换成返回类型 。
参见:
get
getFloat
 public native float getFloat(Object obj) throws IllegalArgumentException, IllegalAccessException
以 float 类型获取指定对象上的域值。

抛出: IllegalAccessException
若基本构造子是不可存取的。
抛出: IllegalArgumentException
若域值不能被扩展转换转换成返回类型 。
参见:
get
getDouble
 public native double getDouble(Object obj) throws IllegalArgumentException, IllegalAccessException
以 double 类型获取指定对象上的域值。

抛出: IllegalAccessException
若基本构造子是不可存取的。
抛出: IllegalArgumentException
若域值不能被扩展转换转换成返回类型 。
参见:
get
set
 public native void set(Object obj,
                        Object value) throws IllegalArgumentException, IllegalAccessException
将指定对象参数上的该 Field 对象表示的域设置为指定新值。若基本域有原始类型,则自动将该新值解包。

操作处理如下:

若基本域是静态域,则忽略对象参数;它可以为 null 。

否则, 基本域是一个实例域。若指定对象参数为 null , 则该方法抛出 NullPointerException 。若指定对象不是类实例或声明基本域的接口,则该方法抛出 IllegalArgumentException 。

若该 Field 对象使 Java 语言存取控制和基本域不可存取,则该方法抛出 IllegalAccessException 。

若基本 Field 是最终域,则该方法抛出 IllegalAccessException 。

若基本域是原始类型,则试进行解包转换,将新值转换为原始类型值。若尝试失败,则抛出 IllegalArgumentException 。

进行可能解包之后,若通过标志或扩展转换不能将新值转换成基本域的类型,则该方法 IllegalArgumentException 。

将该域设置为可能的解包和扩展的新值。

抛出: IllegalAccessException
若基本构造子是不可存取的。
抛出: IllegalArgumentException
若指定对象不是类的实例或声明基本域的接口或解包转换失败,则该方法抛出 unwrapping 。
抛出: NullPointerException
若指定对象为 null 。
setBoolean
 public native void setBoolean(Object obj,
                               boolean z) throws IllegalArgumentException, IllegalAccessException
以 boolean 类型设置指定对象上的域值。

抛出: IllegalAccessException
若基本构造子是不可存取的。
抛出: IllegalArgumentException
若指定对象不是类的实例、声明基本域的接口或解包转换失败。
参见:
set
setByte
 public native void setByte(Object obj,
                            byte b) throws IllegalArgumentException, IllegalAccessException
以 byte 类型设置指定对象上的域值。

抛出: IllegalAccessException
若基本构造子是不可存取的。
抛出: IllegalArgumentException
若指定对象不是类的实例、声明基本域的接口或解包转换失败。
参见:
set
setChar
 public native void setChar(Object obj,
                            char c) throws IllegalArgumentException, IllegalAccessException
以 char 类型设置指定对象上的域值。

抛出: IllegalAccessException
若基本构造子是不可存取的。
抛出: IllegalArgumentException
若指定对象不是类的实例、声明基本域的接口或解包转换失败。
参见:
set
setShort
 public native void setShort(Object obj,
                             short s) throws IllegalArgumentException, IllegalAccessException
以 short 类型设置指定对象上的域值。

抛出: IllegalAccessException
若基本构造子是不可存取的。
抛出: IllegalArgumentException
若指定对象不是类的实例、声明基本域的接口或解包转换失败。
参见:
set
setInt
 public native void setInt(Object obj,
                           int i) throws IllegalArgumentException, IllegalAccessException
以 int 类型设置指定对象上的域值。

抛出: IllegalAccessException
若基本构造子是不可存取的。
抛出: IllegalArgumentException
若指定对象不是类的实例、声明基本域的接口或解包转换失败。
参见:
set
setLong
 public native void setLong(Object obj,
                            long l) throws IllegalArgumentException, IllegalAccessException
以 long 类型设置指定对象上的域值。

抛出: IllegalAccessException
若基本构造子是不可存取的。
抛出: IllegalArgumentException
若指定对象不是类的实例、声明基本域的接口或解包转换失败。
参见:
set
setFloat
 public native void setFloat(Object obj,
                             float f) throws IllegalArgumentException, IllegalAccessException
以 float 类型设置指定对象上的域值。

抛出: IllegalAccessException
若基本构造子是不可存取的。
抛出: IllegalArgumentException
若指定对象不是类的实例、声明基本域的接口或解包转换失败。
参见:
set
setDouble
 public native void setDouble(Object obj,
                              double d) throws IllegalArgumentException, IllegalAccessException
以 double 类型设置指定对象上的域值。

抛出: IllegalAccessException
若基本构造子是不可存取的。
抛出: IllegalArgumentException
若指定对象不是类的实例、声明基本域的接口或解包转换失败。
参见:
set

当前位置 类层次 (JDK) 所有类 (JDK) 所有域和方法 (JDK)