好像invoke方法本身的第一個參數 object沒有用到,老師都是用一個私有變量來傳遞實際需要的object,雖然完美代替,沒有解釋。
2017-12-25
把 filename 寫成 當前包下的 $Proxy0.java ,然后把 長字符串中的包名 package 當前包名,load的時候就寫成 當前包名.$Proxy0 , 還有記得構造方法的函數名也是 $Proxy0
2017-12-25
答案是
Car car = new Car(); // 被代理的 類
CarLogProxy log = new CarLogProxy(car); // 汽車 日志代理
TimeHandler th = new TimeHandler(log); // 時間 ●動態代理~
Class<?> cls = car.getClass();
Moveable m = (Moveable) Proxy.newProxyInstance(cls.getClassLoader(), cls.getInterfaces(), th);
m.move();
Car car = new Car(); // 被代理的 類
CarLogProxy log = new CarLogProxy(car); // 汽車 日志代理
TimeHandler th = new TimeHandler(log); // 時間 ●動態代理~
Class<?> cls = car.getClass();
Moveable m = (Moveable) Proxy.newProxyInstance(cls.getClassLoader(), cls.getInterfaces(), th);
m.move();
2017-11-27