Java 源码 - Field 类

字段(Field),是 Java 编程语言中类的一个成员,主要用来存储对象的状态,所以有时也可称为成员字段或成员变量。

源码

package java.lang.reflect;
/**
 * 成员类
 */
public final class Field extends AccessibleObject implements Member {
    /**
     * 获取定义它的类。
     */
    public Class<?> getDeclaringClass() {
        return clazz;
    }

    /**
     * 获取变量的名字。
     */
    public String getName() {
        return name;
    }

    /**
     * 获取修饰符。
     */
    public int getModifiers() {
        return modifiers;
    }

    /**
     * 是否是枚举类型。
     */
    public boolean isEnumConstant() {
        return (getModifiers() & Modifier.ENUM) != 0;
    }

    /**
     * 获取类型。
     */
    public Class<?> getType() {
        return type;
    }

    /**
     * 返回代表的值。
     */
    @CallerSensitive
    public Object get(Object obj) throws IllegalArgumentException, IllegalAccessException
    {
        return getFieldAccessor(obj).get(obj);
    }

    /**
     * 设置值。
     */
    @CallerSensitive
    public void set(Object obj, Object value) throws IllegalArgumentException, IllegalAccessException
    {
        getFieldAccessor(obj).set(obj, value);
    }

    /**
     * 获取上面的注解。
     */
    public <T extends Annotation> T getAnnotation(Class<T> annotationClass) {
        Objects.requireNonNull(annotationClass);
        return annotationClass.cast(declaredAnnotations().get(annotationClass));
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章