国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java使用反射給對象屬性賦值的兩種方法

2019-11-06 07:10:58
字體:
來源:轉載
供稿:網友

java反射無所不能,辣么,怎么通過反射設置一個屬性的值呢? 主程序:

/** * @author tengqingya * @create 2017-03-05 15:54 */public class TestReflectSet { PRivate String readOnly; public String getReadOnly() { return readOnly; } public void setReadOnly( String readOnly ) { System.out.println("set"); this.readOnly = readOnly; } }

方法1:

TestReflectSet t = new TestReflectSet(); Field f = t.getClass().getDeclaredField("readOnly"); f.setaccessible(true); f.set(t, "test"); System.out.println(t.getReadOnly());

以上方法得到一個類的Field 屬性,然后設置可見性,然后設置了一個值,最后打印 方法2:

Method setReadOnly = t.getClass().getMethod("setReadOnly", String.class); String s ="test2"; setReadOnly.invoke(t,s); System.out.println(t.getReadOnly());

最后的打印結果: 調用方法一 test 調用方法二 set test2 也就是說,第一種方法,沒有調用屬性的set方法就完成了賦值,但是第二種方法,是通過調用屬性的set方法來完成賦值。 所以,如果想在程序中改變程序的屬性的值的同時還想做一些額外的事情,可以將這些事情寫到set方法中并使用第二種方法哦················


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 奉新县| 玉山县| 樟树市| 女性| 永康市| 麻江县| 茂名市| 唐河县| 马龙县| 张家川| 托里县| 武陟县| 瑞安市| 东兰县| 商水县| 肃南| 安西县| 环江| 金寨县| 丰城市| 周宁县| 常德市| 虹口区| 柳河县| 伊宁县| 方正县| 松溪县| 莎车县| 靖边县| 屏边| 环江| 仁布县| 阿拉善盟| 徐州市| 霞浦县| 当阳市| 奈曼旗| 买车| 承德县| 汨罗市| 西丰县|