溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

跟王老師學(xué)反射(七)使用反射調(diào)用屬性

發(fā)布時間:2020-03-27 00:04:59 來源:網(wǎng)絡(luò) 閱讀:253 作者:編程魔法師 欄目:開發(fā)技術(shù)

學(xué)習(xí)內(nèi)容

使用反射調(diào)用屬性


通過Class對象的getFields()|getDeclaredFields()或getField()|getDeclaredField()方法可以獲取該類所有包括的全部屬性或指定的屬性

一、Field類用于獵取類中的屬性的方法

(一)getXxx(Object obj)

獲取obj對象該Field的屬性值,此處Xxx對應(yīng)8個基本類型。

(二)setXxx(Object obj,Xxx val)

將obj對象的該Field設(shè)置為val值。此處Xxx對應(yīng)8個基本類型。

二、測試

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static void test5()throws Exception{
        Class<Person> personClass = Person.class;
        Person person = personClass.newInstance();
        //得到setName方法
        Method method = personClass.getDeclaredMethod("setName", String.class);
        //調(diào)用訪問權(quán)限檢查
        if(!method.isAccessible()){
            method.setAccessible(true);
        }
        //調(diào)用setName,為name賦值
        Object object = method.invoke(person, "wangwu");
        System.out.println(person);
        System.out.println(object);
    }



向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI