第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

作業(yè)是怎么實(shí)現(xiàn)的?

最后那個作業(yè)是怎么實(shí)現(xiàn)的?

正在回答

3 回答

樓上正解

0 回復(fù) 有任何疑惑可以回復(fù)我~

接上面回答,調(diào)用時候得到日志記錄的對象后, 再通過LogHandler代理一次即可:代碼如下:

public?static?void?main(String[]?args)?{
Moveable?car?=?new?Car();

InvocationHandler?timeHandler?=?new?TimeHandler(car);

Class<?>?cls?=?car.getClass();

/**
*?loader:類加載器<br>
*?interfaces:實(shí)現(xiàn)接口<br>
*?h?InvocationHandler<br>
*/
Moveable?timeCar?=?(Moveable)?Proxy.newProxyInstance(
cls.getClassLoader(),?cls.getInterfaces(),?timeHandler);

InvocationHandler?logHandler?=?new?LogHandler(timeCar);

Moveable?logCar?=?(Moveable)?Proxy.newProxyInstance(
cls.getClassLoader(),?cls.getInterfaces(),?logHandler);

logCar.move();
}


8 回復(fù) 有任何疑惑可以回復(fù)我~
#1

Mr_Vision

Moveable logCar = (Moveable) Proxy.newProxyInstance(cls.getClassLoader(), cls.getInterfaces(), logHandler); 返回值為什么可以強(qiáng)轉(zhuǎn)成Moveable ,依據(jù)是什么?為什么直接轉(zhuǎn)成實(shí)現(xiàn)類不行
2015-07-23 回復(fù) 有任何疑惑可以回復(fù)我~

在寫一個日志代理

public class LogHandler implements InvocationHandler {


private Object target;

public LogHandler(Object target) {

super();

this.target = target;

}




/**

* 參數(shù)

* proxy 被代理對象

* method 被代理對象的方法

* args 方法的參數(shù)

*?

* 返回值:

* Object 方法的返回值

*?

*/

@Override

public Object invoke(Object proxy, Method method, Object[] args)

throws Throwable {

System.out.println("日志開始。。。");

method.invoke(target);

System.out.println("日志結(jié)束。。。");

return null;

}


}


0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

西_瓜 提問者

你的意思是記錄日志的時候汽車要跑一次,我在記錄時間的時候 汽車又要跑一次 記錄一次汽車就跑一次嗎?(PS:汽車跑一次是指調(diào)用move() Method)。
2014-12-25 回復(fù) 有任何疑惑可以回復(fù)我~
#2

JasonLau007 回復(fù) 西_瓜 提問者

不是的。按照苦逼工程師的方法做
2015-02-22 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

作業(yè)是怎么實(shí)現(xiàn)的?

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號