亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

反射調用函數的問題

反射調用函數的返回值問題, 和調用參數不太懂

正在回答

1 回答

public?Object?invoke(Object?receiver,?Object...?args)
receiver:?從中調用底層方法的對象
args:?用于方法調用的參數
Object(返回結果):使用參數args在obj上指派該對象所表示方法的結果。

//創建A的實例
Class<?>?aClazz?=?A.class;
//獲取A類的add方法
Object?obj?=?aClazz.newInstance();
Method?method?=?aClazz.getMethod("add",int.class,int.class);//調用method對應的方法?=>?add(1,4)
Object?result?=?method.invoke(obj,1,4);

class?A?{
????private?int?x;
????public?int?add(int?a,?int?b)?{
????????return??a+b;
????}
}
set(Object?obj,?Object?value):將指定對象obj變量上此?Field?對象表示的字段設置為指定的新值value
A?a?=?new?A();
Field?field?=?a.getClass().getDeclaredField("x");
field.setAccessible(true);
field.set(a,?1)

這樣就會將對象a上x的字段設置為1.
0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Android Multidex原理及實現
  • 參與學習       6933    人
  • 解答問題       4    個

學會使用Multidex分包解決65535問題

進入課程

反射調用函數的問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號