Java callBack方法

 Java 的callBack機制,實際上就是隻提供一個接口,其實現可根據具體需求具體實現.
相對於接口而言,通常的接口是隻暴露接口而不暴露接口的具體實現,而callBack恰好相反,機暴露接口,並

且接口的內部實現還需要根據不同的需求,由非接口的開發人員進行開發.

簡單的callBack,接口人員只需要提供一個接口即可:

public interface CallBack {
    void execute();
}


其重要的實現在於調用接口的這個方法類,當然,這個類也可以是接口,或者static方法等.但是,這些方法有

一個共同點,都需要以CallBack這個接口爲傳遞對象.

    public void testTime(CallBack callBack) {
        long begin = System.currentTimeMillis();
        callBack.execute();
        long end = System.currentTimeMillis();
        System.out.println("[use time]:" + (end - begin));
    }

在這個方法裏面,傳遞的是CallBack這個接口,而調用callBack.execute();則是對這個方法的真正調

用.

因此,在調用testTime這個方法時,需要明確的實現這個方法:

    tool.testTime(new CallBack() {
            // 定義execute方法
            public void execute() {
                for (int i = 0; i < 1000000000; i++)
                    ;
                System.out.println("Call Back");
            }
        });

這中寫法和jQuery的方式很象,將接口的實現完全暴露出來,這樣方便對方法的實現.

當然,CallBack這個方法也可以有具體的實現類,比如CallBackImpl,在這個實現類中,可以完全實現

execute(),這個方法.

這時,tool.testTime(),這個方法可以採用這樣的方式進行實現:
tool.testTime(new CallBackImpl);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章