共計 897 個字符,預計需要花費 3 分鐘才能閱讀完成。
在 Java 中,可以通過反射來獲取屬性的值。下面是一個示例代碼:
import java.lang.reflect.Field;
public class ExampleClass {
private String name;
private int age;
public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {ExampleClass obj = new ExampleClass();
obj.name = "John";
obj.age = 25;
// 獲取屬性的值
Class clazz = obj.getClass();
Field nameField = clazz.getDeclaredField("name");
nameField.setAccessible(true);
Object nameValue = nameField.get(obj);
System.out.println("name:" + nameValue);
Field ageField = clazz.getDeclaredField("age");
ageField.setAccessible(true);
Object ageValue = ageField.get(obj);
System.out.println("age:" + ageValue);
}
}
此示例創(chuàng)建了一個名為 ExampleClass
的類,其中包含了 name
和age
兩個私有屬性。通過反射,我們可以獲取這兩個屬性的值。
首先,通過 obj.getClass()
獲取到 ExampleClass
的Class
對象。然后,使用 getDeclaredField()
方法獲取到 name
和age
這兩個屬性的 Field
對象。
接下來,使用 setAccessible(true)
來設置私有屬性的可訪問性,然后通過 get()
方法獲取屬性的值。
最后,通過 System.out.println()
打印屬性的值。
運行代碼,將會輸出以下結(jié)果:
name: John
age: 25
這樣就成功通過反射獲取了屬性的值。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完