- java.lang.reflect 包類
- java.lang.reflect - 首頁
- java.lang.reflect - AccessibleObject
- java.lang.reflect - Array
- java.lang.reflect - Constructor<T>
- java.lang.reflect - Field
- java.lang.reflect - Method
- java.lang.reflect - Modifier
- java.lang.reflect - Proxy
- java.lang.reflect 包附加資訊
- java.lang.reflect - 介面
- java.lang.reflect - 異常
- java.lang.reflect - 錯誤
- java.lang.reflect 有用資源
- java.lang.reflect - 快速指南
- java.lang.reflect - 有用資源
- java.lang.reflect - 討論
java.lang.reflect.Field.get() 方法示例
說明
java.lang.reflect.Field.get(Object obj) 方法在指定物件上,返回由該 Field 表示的欄位的值。如果值是基本型別,則自動將其包裝到物件中。
宣告
以下是 java.lang.reflect.Field.get(Object obj) 方法的宣告。
public Object get(Object obj) throws IllegalArgumentException, IllegalAccessException
引數
obj − 要從中提取所表示欄位值的的物件。
返回
object obj 中表示欄位的值;基本型別值在返回前會包裝到相應的物件中。
異常
IllegalAccessException − 如果該 Field 物件強制執行 Java 語言訪問控制,且基礎欄位不可訪問。
IllegalArgumentException − 如果指定的物件不是宣告基礎欄位的類或介面(或其子類或實現類)的例項。
NullPointerException − 如果指定的物件為 null,並且欄位為例項欄位。
ExceptionInInitializerError − 如果由此方法引發的初始化失敗。
範例
以下範例顯示了 java.lang.reflect.Field.get(Object obj) 方法的用法。
package com.tutorialspoint;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.reflect.Field;
public class FieldDemo {
public static void main(String[] args) throws NoSuchFieldException,
SecurityException, IllegalArgumentException, IllegalAccessException {
SampleClass sampleObject = new SampleClass();
sampleObject.setSampleField("data");
Field field = SampleClass.class.getField("sampleField");
System.out.println(field.get(sampleObject));
}
}
@CustomAnnotation(name = "SampleClass", value = "Sample Class Annotation")
class SampleClass {
@CustomAnnotation(name="sampleClassField", value = "Sample Field Annotation")
public String sampleField;
public String getSampleField() {
return sampleField;
}
public void setSampleField(String sampleField) {
this.sampleField = sampleField;
}
}
@Retention(RetentionPolicy.RUNTIME)
@interface CustomAnnotation {
public String name();
public String value();
}
讓我們編譯並執行上述程式,這會產生以下結果 −
data
java_reflect_field.htm
廣告