怎么在java中利用反射訪問成員變量的值

怎么在java中利用反射訪問成員變量的值?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

10余年的安順網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整安順建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“安順網(wǎng)站設(shè)計(jì)”,“安順網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

一 代碼

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)建一個(gè)Person對(duì)象
    Person p = new Person();
    // 獲取Person類對(duì)應(yīng)的Class對(duì)象
    Class<Person> personClazz = Person.class;
    // 獲取Person的名為name的成員變量
    // 使用getDeclaredField()方法表明可獲取各種訪問控制符的成員變量
    Field nameField = personClazz.getDeclaredField("name");
    // 設(shè)置通過反射訪問該成員變量時(shí)取消訪問權(quán)限檢查
    nameField.setAccessible(true);
    // 調(diào)用set()方法為p對(duì)象的name成員變量設(shè)置值
    nameField.set(p , "Yeeku.H.Lee");
    // 獲取Person類名為age的成員變量
    Field ageField = personClazz.getDeclaredField("age");
    // 設(shè)置通過反射訪問該成員變量時(shí)取消訪問權(quán)限檢查
    ageField.setAccessible(true);
    // 調(diào)用setInt()方法為p對(duì)象的age成員變量設(shè)置值
    ageField.setInt(p , 30);
    System.out.println(p);
  }
}

二 運(yùn)行

E:\Java\瘋狂java講義\codes\18\18.4>java FieldTest
Person[name:Yeeku.H.Lee , age:30 ]

看完上述內(nèi)容,你們掌握怎么在java中利用反射訪問成員變量的值的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

文章標(biāo)題:怎么在java中利用反射訪問成員變量的值
本文來源:http://bm7419.com/article14/gipcge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)網(wǎng)頁(yè)設(shè)計(jì)公司、品牌網(wǎng)站制作、動(dòng)態(tài)網(wǎng)站、品牌網(wǎng)站建設(shè)域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)