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));
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章