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

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

模式的秘密---代理模式

難度中級
時長 2小時 0分
學習人數
綜合評分9.70
184人評價 查看評價
9.8 內容實用
9.6 簡潔易懂
9.7 邏輯清晰
不懂是你還沒達到這個層次,達到那個高度你回來再看一遍就懂原理了…………
//Enhancer允許為非接口類型創建一個Java代理。
//Enhancer動態創建了給定類型的子類但是攔截了所有的方法。
//和Proxy不一樣的是,不管是接口還是類他都能正常工作。
新建一個LogHandler實現InvocationHandler接口,和TimeHandler類似
在測試類下面繼續添加如下代碼:
InvocationHandler logHandler = new LogHandler(m);
Moveable m2= (Moveable) Proxy.newProxyInstance(cls.getClassLoader(),
cls.getInterfaces(), logHandler);
m2.move();
輸出:
開始記錄日志...
汽車開始行駛....
move
汽車行駛中...
汽車結束行駛..
那位說別人是碼農的兄弟不知道現在是啥水平?。扛呒壒こ處??架構師?易大師:真正的大師,永遠懷著一顆學徒的心。
置頂那個是錯誤的,在main()中
Car car = new Car();
InvocationHandler h = new TimeHandler(car);
Class<?> cla = car.getClass();
h.invoke(car, cla.getDeclaredMethod("move"),null);

運行成功,說明public Object invoke(Object proxy, Method method, Object[] args)
中的proxy,是被代理對象
看到前面有很多不吐不快的人,到后面全都消失了。
如果是有參數的
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
//簡寫
method.invoke(target, new Object[]{3000});
//簡寫
}
這邊寫完參數
測試那邊 還要再調用一下 move方法,再填參數都是以3000為準。
這個地方有點不解,
令人窒息的操作
這PPT怎么這么秀!
public Object invoke(Object obj, Method method, Object[] args)
throws Throwable {
System.out.println("開始行駛");
method.invoke(targer,null);//沒有參數就傳入null
System.out.println("結束行駛");
return null;
}
老師說的好好

我是勤勞的搬運工,源碼 源碼。。

https://github.com/imooc-java/proxy
老師拿著一輛truck強行說是car?
大家都是過來刷裝備的嗎
@蒲公英wsg 你說的那個博客基礎的都寫的有問題啊....
課程須知
本課程是 Java 開發課程的高級課程,希望各位小伙伴們在學習本課程之前,了解以下內容: 1)初步具備面向對象的設計思維 2)了解多態概念 3)了解反射
老師告訴你能學到什么?
1、代理模式概念機分類 2、代理模式應用場景 3、掌握靜態代理、動態代理運用 4、理解JDK動態代理實現原理

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消