[問題] 關於動態代理

看板java作者 (蔥頭)時間10年前 (2015/06/04 18:58), 10年前編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
當我操作動態代理物件的時候, 底層會自動呼叫實作InvocationHandler的物件的invoke(), invoke : public Object invoke(Object proxy, Method method, Object[] args) 此時再透過invoke()方法內自己定義的 method.invoke(sub, args); 來呼叫sub物件(被代理類別)的method方法 (這邊method是指前兩行invoke()的參數) 一般反射取得方法的方法是 Method method = classType.getDeclaredMethod("sayHello", new Class[]{String.class}); 我想請問, invoke()中的Method method底層是如何取得的, 我並沒傳入方法名稱啊, Method method是如何獲得的 ? -- 感謝大家的推文 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.69.59.91 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1433415481.A.B30.html ※ 編輯: tas72732002 (114.34.181.227), 06/04/2015 22:05:59

06/04 22:56, , 1F
不確定是否是使用攔截器做到的
06/04 22:56, 1F

06/05 11:28, , 2F
直接去掃物件所有的成員然後去hook
06/05 11:28, 2F
文章代碼(AID): #1LS2yvim (java)
文章代碼(AID): #1LS2yvim (java)