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
{
// 創(chuàng)建一個Person對象
Person p = new Person();
// 獲取Person類對應的Class對象
Class<Person> 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數(shù)據結構與算法教程》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。
相關文章
Eclipse可視化插件WindowBuilder的安裝方法
這篇文章主要介紹了Eclipse可視化插件WindowBuilder的安裝方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-06-06
一文搞懂Java常見的三種代理模式(靜態(tài)代理、動態(tài)代理和cglib代理)
Java中常見的三種代理模式是靜態(tài)代理模式、動態(tài)代理模式和CGLIB代理模式,本文就來給大家詳細的講解一下這三種代理模式,感興趣的小伙伴跟著小編一起來看看吧2023-08-08
java substring(a)與substring(a,b)的使用說明
這篇文章主要介紹了java substring(a)與substring(a,b)的使用說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
springboot項目使用SchedulingConfigurer實現(xiàn)多個定時任務的案例代碼
這篇文章主要介紹了springboot項目使用SchedulingConfigurer實現(xiàn)多個定時任務,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-01-01

