最贊回答 / ATWJSW
Car car = new Car(); InvocationHandler timeHandler = new TimeHandler(car); Movable movable1 = (Movable)Proxy.newProxyInstance(car.getClass().getClassLoader(), car.getClass().getInterfaces(), timeHandler); InvocationHandler logHandler = new LogHandler(m...
2016-03-01
還有我不知道是我沒弄清楚,還是老師你沒說清楚,MethodProxy proxy 這個對象是代理類方法的實例,不是代代理類的實例
2016-02-29
最新回答 / windy_yong
再重新試了一下,兩個其實都行,我之前出現不行的情況,是因為我的包名為Proxy.com.imooc.chapter3_1.XXX,然后包路徑下同時有一個Proxy的類,所以可能導致了無法正確解析Proxy是一個包還是一個類,如果修改為正確的話那么兩種方法都可以,從這里可以看出我們日常命名規范的一些重要性給出一個類似的例子:package proxy.com.imooc.test;/** * Created with IntelliJ IDEA. * @author Wind * @version V1.0...
2016-02-17
先認真看了一遍,老師將基本的jdk動態代理的過程簡單地呈現了一次,整個過程都說的易懂明白,最好的地方就是例子的實現,大致有了一個了解。對這個課程真心滿意,老師為我們展現了一個簡單的思路,那么老師應該也是對源碼很熟,如果可以就源碼的重點地方解讀再錄一個視頻我們理解起來更容易。
本人目前開始了解源碼,雖說能大概找到整體,但有時候還是在在查找重點地方時花費較多時間
本人目前開始了解源碼,雖說能大概找到整體,但有時候還是在在查找重點地方時花費較多時間
2016-02-17
已采納回答 / Frostmourn
因為你這兩個handler里的invoke方法里的method.invoke語句最后都是調的move()方法啊。你timehandler傳的對象是car,之后的loghandler傳的timecar,所以你最后logcar調用move()方法的時候的執行順序是執行loghandler的invoke方法中method.invoke語句前的部分進入loghandler的method.invoke方法,這里實際是timehandler的invoke方法,同樣先執行method.invoke語句之前的部分執行ti...
2016-02-17
我有一個問題,如此好像還是要寫很多和hander啊,當處理的也許多了handler也會很多不是么?求解答!
2016-02-12