日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

接口回调

發布時間:2025/4/16 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 接口回调 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文鏈接:http://blog.csdn.net/aigestudio/article/details/40869893

廢話不多說,像許多網上介紹回調機制的文章一樣,我這里也以一個現實的例子開頭:假設你公司的總經理出差前需要你幫他辦件事情,這件事情你需要花些時間去做,這時候總經理肯定不能守著你做完再出差吧,于是就他告訴你他的手機號碼叫你如果事情辦完了你就打電話告訴他一聲;這是一個現實生活中常能碰到的例子,我們用呢就用代碼的方式來實現一個這個過程,看一下這個過程究竟是怎樣的。

首先在Eclipse中新建一個Java項目:CallBackDemoInJava

然后再新建三個類:Manager(該類用來模擬總經理),Personnel(該類用來模擬員工),Main(主類)

Manager的代碼如下:

package com.aige.test; /** * @description 該類用來模擬總經理 * @author Walid* @since 2014/11/6 */ public class Manager { /** * @param personnel 傳入一個員工類的對象 */ public Manager(Personnel personnel) { // 想讓該讓員工做什么 personnel.doSomething(this, "整理公司文件"); } /** * @description 當員工做完總經理讓他做的事后就通過該方法通知總經理 * @param result 事情結果 */ public void phoneCall(String result) { System.out.println("事情" + result); } }

Manager類是個模擬總經理的類,當該類的對象被造出來后就會通過Personnel的對象去執行Personnel中的doSomething方法告訴員工做些什么

Personnel的代碼如下:

package com.aige.test; /** * @description 該類用來模擬員工 * @author Walid* @since 2014/11/6 */ public class Personnel { public void doSomething(Manager manager, String task) { // 總經理通過doSomething方法告訴員工要做什么 System.out.println("總經理要你做" + task); String result = "做完了"; // 當事情做完了我們就通過總經理公布的phoneCall方法通知總經理結果 manager.phoneCall(result); } }

總經理通過調用Personnel中的doSomething方法告訴員工該做些什么,當員工做完后就通過Manager中的phoneCall方法通知總經理結果

那么好的!萬事俱備,我們在Main中測試運行下代碼看看結果:

package com.aige.test; public class Main { public static void main(String[] args) { // 首先我們需要一個員工 Personnel personnel = new Personnel(); // 其次把這個員工指派給總經理 new Manager(personnel); } }

代碼執行結果如下:

回到我們剛才舉的那個現實中的例子:總經理出差前要你去辦件事情,這件事情通過doSomething告訴你了,事情要是辦完了就打總經理的電話phoneCall通知他一聲。這里的phoneCall我們就稱為回調方法,為什么稱之為回調呢?你問我我也不清楚哈~這你得問Sun公司了,不過我們從代碼的執行過程可以看出數據的流向大致是Manager → Personnel → Manager,這不就是一個“回調”的過程么?現在我們來總結下滿足回調的兩個基本條件:

  • Class A調用Class B中的X方法
  • ClassB中X方法執行的過程中調用Class A中的Y方法完成回調

一切看上去都很完美~以上例子代碼簡單通俗地描述了回調,但是這里我就會有這樣一個疑問:假設總經理出差前交了件事情給我去辦,不巧……副總經理也要給我件事去辦,更無恥的是……主管也發任務過來了,都要求說做完就打電話通知他們……這時我們就要定義更多類,什么總經理類啦~經理類啦~主管類啦~雜七雜八的類,但是這些雜七雜八的大爺們都要求做完事情就電話通知,每個類都會有一個類似phoneCall的方法作為回調方法,這時,我們利用面向對象的思想來看~是不是可以把這個回調方法抽象出來作為一個獨立的抽象類或接口呢?多態的思想油然而生~~~鑒于JAVA接口的好處,我們就定義一個名為CallBack的接口作為回調接口,再在該接口下定義一個名為backResult的抽象方法作為回調方法,讓那些總經理類啦~經理類啦~主管類啦~什么的都去實現該接口,這時候我們就來改造下我們的項目:

CallBack代碼如下:

package com.aige.test; /** * @description 回調接口 * @author Walid* @since 2014/11/6 */ public interface CallBack { // 回調方法 public void backResult(String result); }

Manager代碼改造后如下:實現CallBack接口重寫backResult方法

package com.aige.test; /** * @description 該類用來模擬總經理 * @author Walid* @since 2014/11/6 */ public class Manager implements CallBack { /** * @param personnel 傳入一個員工類的對象 */ public Manager(Personnel personnel) { // 想讓該讓員工做什么 personnel.doSomething(this, "整理公司文件"); } /** * @description 當員工做完總經理讓他做的事后就通過該方法通知總經理 * @param result 事情結果 */ public void backResult(String result) { System.out.println("事情" + result); } }

Personnel代碼改造后如下:doSomething方法不再傳入一個Manager對象而是一個CallBack接口

package com.aige.test; /** * @description 該類用來模擬員工 * @author Walid* @since 2014/11/6 */ public class Personnel { public void doSomething(CallBack callBack, String task) { // 總經理通過doSomething方法告訴員工要做什么 System.out.println("總經理要你做" + task); String result = "做完了"; // 當事情做完了我們就通過總經理公布的phoneCall方法通知總經理結果 callBack.backResult(result); } }

Main代碼不變,執行結果也是一樣的。

至此,回調的基本概念差不多就是這樣了~其實回調真心不難理解,但是回調在Android中相當重要,幾乎處處可見回調機制,如果你能理解到回調的奧秘~我相信對你的Android技術是一個不小的提升

總結

以上是生活随笔為你收集整理的接口回调的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 韩国日本中文字幕 | 免费激情小视频 | 两性av| 高清乱码免费网 | 国产精品1区2区 | 夜夜夜夜骑 | 色综合中文 | 最新av观看 | 精品人妻人人做人人爽夜夜爽 | 葵司免费一区二区三区四区五区 | 封神榜二在线高清免费观看 | 男人的天堂一区 | 亚洲一区二区三区在线观看视频 | 成人av网站大全 | 国产又粗又长视频 | av大片网址| 免费人成在线 | 国产美女无遮挡免费视频 | 日本啪啪片 | 午夜福利三级理论电影 | 五月天堂色| 澳门黄色一级片 | 91成人动漫 | 欧美一级黑人 | 九九少妇| 日韩r级在线观看 | 国产一区二区亚洲 | 少妇人妻偷人精品无码视频新浪 | 欧美与黑人午夜性猛交久久久 | 久久久免费电影 | 国产免费久久精品国产传媒 | 国产h视频 | 日本高清不卡视频 | 免费看片亚洲 | 波多野结衣av在线观看 | 中国吞精videos露脸 | 中文字幕免费视频 | 狠狠搞av | 日本啊啊视频 | 国产电影一区二区三区 | h网址在线观看 | 免费国产羞羞网站视频 | 一本大道综合伊人精品热热 | 久久网亚洲 | 亚洲精品一区二区三 | 日本一本久久 | 偷拍欧美另类 | 国产美女被遭强高潮免费网站 | 精品少妇一区二区三区在线观看 | 毛片网 | 亚洲自拍中文字幕 | 午夜精品久久久久久久久久蜜桃 | 国产高清一级 | 不卡视频在线观看免费 | 欧美一区二区三区成人精品 | 精射女上司 | 国产亚洲精品熟女国产成人 | 黑森林av导航 | www.日韩精品| 亚洲天堂男人av | 国产成人无码精品久久久久 | 九九在线免费视频 | 人妻 校园 激情 另类 | 欧美国产精品一区二区 | 亚洲国产欧美视频 | 爱爱小视频免费看 | 国产精品成人一区二区三区电影毛片 | 色婷五月 | 久久神马影院 | 超碰97av | 日韩在线观看视频一区 | 特黄av| 亚洲中文字幕在线一区 | 男女透逼视频 | 中日韩中文字幕一区二区 | 香蕉网站在线 | 欧美一区二区三区观看 | 草草影院最新 | 综合久久久久综合 | 国产做受网站 | 欧美一a一片一级一片 | 免费三片60分钟 | 国产又猛又黄 | 国产又黄又大又粗的视频 | 国产91亚洲 | 吃奶在线观看 | 国产一区二 | 伦一理一级一a一片 | 成 人 免费 黄 色 | 久草最新 | 午夜啪视频 | 伊人日日夜夜 | 国产视频精品自拍 | mm1313亚洲国产精品无码试看 | 欧美成人片在线观看 | 在线看成人片 | 377p粉嫩大胆色噜噜噜 | 新91在线 | 国产视频在线观看一区二区 |