摘要:回調(diào)是一種雙向的調(diào)用模式,也就是說(shuō),被調(diào)用的接口被調(diào)用時(shí)也會(huì)調(diào)用對(duì)方的接口,例如要調(diào)用,在執(zhí)行完又要調(diào)用。詳細(xì)的代碼如下創(chuàng)建一個(gè)回調(diào)接口創(chuàng)建回調(diào)接口的實(shí)現(xiàn)類,此例中,員工干完活后還要干什么事情是老板說(shuō)了算的。
什么是回調(diào)?
如上一篇文章所說(shuō),從調(diào)用方式上看,可以分為三類同步調(diào)用、異步調(diào)用和回調(diào)?;卣{(diào)是一種雙向的調(diào)用模式,也就是說(shuō),被調(diào)用的接口被調(diào)用時(shí)也會(huì)調(diào)用對(duì)方的接口,例如A要調(diào)用B,B在執(zhí)行完又要調(diào)用A。
回調(diào)的用途?(摘自http://www.codeceo.com/articl...)回調(diào)一般用于層間協(xié)作,上層將本層函數(shù)安裝在下層,這個(gè)函數(shù)就是回調(diào),而下層在一定條件下觸發(fā)回調(diào)。例如作為一個(gè)驅(qū)動(dòng),是一個(gè)底層,他在收到一個(gè)數(shù)據(jù)時(shí),除了完成本層的處理工作外,還將進(jìn)行回調(diào),將這個(gè)數(shù)據(jù)交給上層應(yīng)用層來(lái)做進(jìn)一步處理,這在分層的數(shù)據(jù)通信中很普遍。(表示沒(méi)怎么理解)
回調(diào)的例子原理:首先創(chuàng)建一個(gè)回調(diào)對(duì)象,然后再創(chuàng)建一個(gè)控制器對(duì)象,將回調(diào)對(duì)象需要被調(diào)用的方法告訴控制器對(duì)象,控制器對(duì)象負(fù)責(zé)檢查某個(gè)場(chǎng)景是否出現(xiàn)或某個(gè)條件是否滿足,當(dāng)滿足時(shí),自動(dòng)調(diào)用回調(diào)對(duì)象的方法。
例如老板A對(duì)員工B說(shuō),我現(xiàn)在交給你一個(gè)任務(wù),并且我把我的電話號(hào)碼給你,你一旦完成任務(wù)就給我打電話。
詳細(xì)的代碼如下:
1、創(chuàng)建一個(gè)回調(diào)接口
public interface CallBack
{
public void doEvent();
}
2、創(chuàng)建回調(diào)接口的實(shí)現(xiàn)類,此例中,員工干完活后還要干什么事情是老板說(shuō)了算的。
public class Boss implements CallBack
{
public void doEvent() { System.out.println("打電話給老板,告知已經(jīng)完成工作了"); }
}
3、創(chuàng)建控制類,也就是本例中的員工對(duì)象,他要持有老板的地址(即回調(diào)接口)
public class Employee
{
CallBack callBack; public Employee(CallBack callBack) { this.callBack=callBack; } public void doWork() { System.out.println("玩命干活中...."); callBack.doEvent(); }
}
4、測(cè)試類
public class TestMain
{
public static void main(String[] args) { //創(chuàng)建控制器對(duì)象,將提供給他的回調(diào)對(duì)象傳入 Employee employee=new Employee(new Boss()); //啟動(dòng)控制器對(duì)象運(yùn)行 employee.doWork(); }
}
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/67738.html
摘要:下面說(shuō)的是接口回調(diào)的理解,比較常用什么是回調(diào)函數(shù)有些庫(kù)函數(shù)要求應(yīng)用先傳給它一個(gè)函數(shù),在合適的時(shí)候調(diào)用,以完成目標(biāo)任務(wù)。 接口回調(diào)機(jī)制 網(wǎng)上有一篇挺形象的例子 https://www.cnblogs.com/heshu... java中的回調(diào)我認(rèn)為分為,同步回調(diào),異步回調(diào)回調(diào):其實(shí)就是,A調(diào)用B,B也調(diào)用A,同步回調(diào):就是一種阻塞調(diào)用,A調(diào)用B的方法,等待B執(zhí)行完,A才繼續(xù)異步回調(diào):類...
摘要:異步調(diào)用異步調(diào)用是為了解決同步調(diào)用可能出現(xiàn)阻塞,導(dǎo)致整個(gè)流程卡住而產(chǎn)生的一種調(diào)用方式。回調(diào)是一種思想是一種機(jī)制,至于具體如何實(shí)現(xiàn),如何通過(guò)代碼將回調(diào)實(shí)現(xiàn)得優(yōu)雅實(shí)現(xiàn)得可擴(kuò)展性比較高,一看開(kāi)發(fā)者的個(gè)人水平,二看開(kāi)發(fā)者對(duì)業(yè)務(wù)的理解程度。 模塊間調(diào)用在一個(gè)應(yīng)用系統(tǒng)中,無(wú)論使用何種語(yǔ)言開(kāi)發(fā),必然存在模塊之間的調(diào)用,調(diào)用的方式分為幾種: (1)同步調(diào)用 showImg(https://segmen...
摘要:回調(diào)函數(shù)異步回調(diào)簡(jiǎn)明講解敘言異步回調(diào)常用于某些業(yè)務(wù)需要很長(zhǎng)時(shí)間處理,但是又需要立刻返回結(jié)果,這種情況都需要開(kāi)辟線程獨(dú)立處理需要長(zhǎng)時(shí)間多的業(yè)務(wù),也無(wú)處理完了,回調(diào)回調(diào)函數(shù),再去處理與之有關(guān)的需要在該業(yè)務(wù)之后處理的業(yè)務(wù)。 java回調(diào)函數(shù)-異步回調(diào)-簡(jiǎn)明講解 敘言: 異步回調(diào)常用于某些業(yè)務(wù)需要很長(zhǎng)時(shí)間處理,但是又需要立刻返回結(jié)果,這種情況都需要開(kāi)辟線程獨(dú)立處理需要長(zhǎng)時(shí)間多的業(yè)務(wù),也無(wú)處理...
摘要:加載并顯示圖片或加載并執(zhí)行回調(diào)接口。加載圖片主要分為三類接口表示異步加載并顯示圖片到對(duì)應(yīng)的上。以上三類接口最終都會(huì)調(diào)用到這個(gè)函數(shù)進(jìn)行圖片加載。不允許訪問(wèn)網(wǎng)絡(luò)的圖片下載器。創(chuàng)建圖片下載器,返回一個(gè)。 1. 功能介紹 1.1 Android Universal Image Loader Android Universal Image Loader 是一個(gè)強(qiáng)大的、可高度定制的圖片緩存,本文簡(jiǎn)...
閱讀 1921·2021-09-23 11:21
閱讀 1705·2019-08-29 17:27
閱讀 1063·2019-08-29 17:03
閱讀 731·2019-08-29 15:07
閱讀 1929·2019-08-29 11:13
閱讀 2386·2019-08-26 12:14
閱讀 933·2019-08-26 11:52
閱讀 1737·2019-08-23 17:09