java 反射 成员变量_java使用反射访问成员变量的值示例
本文實例講述了java使用反射訪問成員變量的值。分享給大家供大家參考,具體如下:
一 代碼
import java.lang.reflect.*;
class Person
{
private String name;
private int age;
public String toString()
{
return "Person[name:" + name +
" , age:" + age + " ]";
}
}
public class FieldTest
{
public static void main(String[] args)
throws Exception
{
// 創建一個Person對象
Person p = new Person();
// 獲取Person類對應的Class對象
Class personClazz = Person.class;
// 獲取Person的名為name的成員變量
// 使用getDeclaredField()方法表明可獲取各種訪問控制符的成員變量
Field nameField = personClazz.getDeclaredField("name");
// 設置通過反射訪問該成員變量時取消訪問權限檢查
nameField.setAccessible(true);
// 調用set()方法為p對象的name成員變量設置值
nameField.set(p , "Yeeku.H.Lee");
// 獲取Person類名為age的成員變量
Field ageField = personClazz.getDeclaredField("age");
// 設置通過反射訪問該成員變量時取消訪問權限檢查
ageField.setAccessible(true);
// 調用setInt()方法為p對象的age成員變量設置值
ageField.setInt(p , 30);
System.out.println(p);
}
}
二 運行
E:\Java\瘋狂java講義\codes\18\18.4>java FieldTest
Person[name:Yeeku.H.Lee , age:30 ]
希望本文所述對大家java程序設計有所幫助。
總結
以上是生活随笔為你收集整理的java 反射 成员变量_java使用反射访问成员变量的值示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java切割文件_Java如何将大文件切
- 下一篇: kl距离 java_信息量、熵、最大熵、