回調(diào)接口淺析

所謂回調(diào)接口就是能回調(diào)的接口!哈哈哈羡榴,不扯淡,舉個生活中的例子來說明运敢。

通俗解釋

比如 你在網(wǎng)吧打LOL校仑,你媳婦兒在家給你做飯吃。但是什么時候吃飯你不知道传惠,并且吃什么你也不知道迄沫,你只是實現(xiàn)了一個你媳婦兒可以通知你回家吃飯的方法,當(dāng)飯做好后你媳婦兒就調(diào)用這個方法卦方,然后你就回家吃她給你準(zhǔn)備得“美食”羊瘩,而這個方法就叫做回調(diào)方法。那什么是回調(diào)接口呢愿汰,簡單困后,回調(diào)方法的所在的接口就叫回調(diào)接口乐纸。

寫與用

  1. 首先寫一個接口命名為OnEatListener 衬廷,接著在其中寫一個onEat方法,定義該方法的參數(shù)為一個String(具體吃什么你不知道汽绢,得你媳婦做好了才告訴你)吗跋。
/**
 * 定義一個叫你吃飯的接口,
 * 但是具體什么時候吃,吃什么跌宛,你是不知道的酗宋。
 * Created by yby on 2017-02-22
 */
public interface OnEatListener {
    public void onEat(String s);
}
  1. 在這里已經(jīng)定義了一個叫你吃飯的接口,但是她怎么用這個接口呢疆拘?
    她在做好飯后為了叫你吃飯蜕猫,得創(chuàng)建一個OnEatListener接口的引用onEatListener,然后通過這個引用調(diào)用接口中的onEat方法來叫你吃飯哎迄,并傳入具體吃的東西作為參數(shù)回右。代碼如下:
/**
 * 你媳婦兒做飯,做好了叫你吃
 * Created by yby on 2017-02-22
 */
public class Home {
    private OnEatListener onEatListener;//這里我們只是創(chuàng)建了一個接口的引用 但是并未實現(xiàn)該接口

    private void zuoFan() {
        zhuFan();//煮飯
        xiCai();//洗菜
        chaoCai();//炒菜
        call();//呼叫吃飯,傳入吃什么
    }

    private void zhuFan() {
        System.out.println("煮飯");
    }

    private void xiCai() {
        System.out.println("洗菜");
    }

    private void chaoCai() {
        System.out.println("炒菜");
    }

    private void call() {
        if (onEatListener != null) {
            onEatListener.onEat("稀飯+泡菜");
        }
    }

    public void setOnEatListener(OnEatListener onEatListener) {
        this.onEatListener = onEatListener;
    }
}
  1. 這時她就可以叫你吃飯了嗎漱挚?不行翔烁!這時叫你吃飯無效。因為onEatListener這個引用所指向的是null旨涝,你并未對它賦值蹬屹,也并未實現(xiàn)它!
    所以你先得實現(xiàn)這個接口然后通過你媳婦預(yù)先提供的setOnEatListener方法把你所實現(xiàn)的onEatListener傳遞給她白华,這樣你就可以安心玩游戲了慨默。
/**
 * 你在網(wǎng)吧,
 * 先把接口實現(xiàn)了衬鱼,然后把你實現(xiàn)的接口設(shè)置到你媳婦兒那里(她必須給你提供一個set方法)
 * 這樣就可以安心的開始玩LOL
 * Created by yby on 2017-02-22
 */
public class Wangba {

    private void playGame() {
        //實現(xiàn)接口
        OnEatListener onEatListener = new OnEatListener() {
            @Override
            public void onEat(String s) {
                System.out.println("回家吃" + s);
            }
        };
        Home home = new Home();
        home.setOnEatListener(onEatListener);
        lol();//安心玩游戲
    }

    private void lol() {
        System.out.println("五殺");
        System.out.println("挑戰(zhàn)泉水");
    }
}

于是飯做好后业筏,你媳婦兒就通過你實現(xiàn)好的接口來叫你吃飯了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鸟赫,一起剝皮案震驚了整個濱河市蒜胖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌抛蚤,老刑警劉巖台谢,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異岁经,居然都是意外死亡朋沮,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進(jìn)店門缀壤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來樊拓,“玉大人,你說我怎么就攤上這事塘慕〗钕模” “怎么了?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵图呢,是天一觀的道長条篷。 經(jīng)常有香客問我骗随,道長,這世上最難降的妖魔是什么赴叹? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任鸿染,我火速辦了婚禮,結(jié)果婚禮上乞巧,老公的妹妹穿的比我還像新娘涨椒。我一直安慰自己,他們只是感情好绽媒,可當(dāng)我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布丢烘。 她就那樣靜靜地躺著,像睡著了一般些椒。 火紅的嫁衣襯著肌膚如雪播瞳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天免糕,我揣著相機(jī)與錄音赢乓,去河邊找鬼。 笑死石窑,一個胖子當(dāng)著我的面吹牛牌芋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播松逊,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼躺屁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了经宏?” 一聲冷哼從身側(cè)響起犀暑,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎烁兰,沒想到半個月后耐亏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡沪斟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年广辰,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片主之。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡择吊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出槽奕,到底是詐尸還是另有隱情几睛,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布史翘,位于F島的核電站枉长,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏琼讽。R本人自食惡果不足惜必峰,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望钻蹬。 院中可真熱鬧吼蚁,春花似錦、人聲如沸问欠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽顺献。三九已至旗国,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間注整,已是汗流浹背能曾。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留肿轨,地道東北人寿冕。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像椒袍,于是被迫代替她去往敵國和親驼唱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理驹暑,服務(wù)發(fā)現(xiàn)玫恳,斷路器,智...
    卡卡羅2017閱讀 134,656評論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法优俘,類相關(guān)的語法纽窟,內(nèi)部類的語法,繼承相關(guān)的語法兼吓,異常的語法臂港,線程的語...
    子非魚_t_閱讀 31,631評論 18 399
  • 轉(zhuǎn)載自:https://xiaobailong24.me/2017/03/18/Android-RxJava2.x...
    Young1657閱讀 2,021評論 1 9
  • 小編費力收集:給你想要的面試集合 1.C++或Java中的異常處理機(jī)制的簡單原理和應(yīng)用。 當(dāng)JAVA程序違反了JA...
    八爺君閱讀 4,591評論 1 114
  • 善良的女孩 除了愛的萌發(fā)视搏,亦塵想起了更多關(guān)于自己小時候的故事审孽,也許一個人的童年軼事是最接近一個人靈魂本質(zhì)的吧。 幼...
    亦塵溪閱讀 322評論 0 1