Java回調實現(xiàn)
- 什么是回調
- 回調核心思想
- 案例代碼實現(xiàn)
- 后序
一凿可、什么是回調
開發(fā)過程當中存在某種特殊的業(yè)務需求,例如:
回調生活實例.PNG
描述:
- 老板給員工下達了工作任務之后百揭,就去做其他事情了。(此時此 刻缤底,老板不知道需要多長時間完成侵歇,不會一直等著,而是做自己其他事情)
- 員工接收到任務之后晤硕,按照要求完成任務
- 當員工任務完成的時候,主動的回饋給老板工作情況庇忌。
- 當員工回饋工作情況的時候窗骑,此時此刻老板還在做另外的事情
二、回調的核心思想
核心思想圖解:
回調的核心思想.PNG
描述:
Boss類 下達任務的方法 調用 Employee類的 完成任務方法
當Employee類的 完成任務方法執(zhí)行完畢之后漆枚,會主動的調用 老板 Boss類的 callBack() 方法
三、案例代碼實現(xiàn)
01. 回調的接口 CallBack
/**
* 定義回調的接口,只需要定義一個報告反饋的方法即可
*/
public interface CallBack {
// 定義一個報告 反饋的方法
public void baoGao(int num);
}
02. 老板類 Boss
/***
* 定義一個老板Boss類,需要去實現(xiàn)回調的接口 CallBack
*/
public class Boss implements CallBack {
// 定義下達任務的方法.需要在下達任務的當中調用 員工 完成任務的方法
public void xiaDaRenWu(Employee e) {
// 當下達任務的時候給出提示.等待著某位員工去完成任務
System.out.println("Boss下達任務了,等待員工去完成...");
// 員工去完成任務
// 由于Boss實現(xiàn)了接口,可以將Boss的對象 this作為參數(shù)傳遞
e.wanChengRenWu(this);
}
// 在報告的方法當中.需要去調用 員工信息
@Override
public void baoGao(int num) {
System.out.println("員工報告回饋信息: " + num);
}
}
03. 員工抽象類 Employee
/**
* 員工類:由于不知道每個員工的完成方式,將員工定義為抽象
*/
public abstract class Employee {
// 員工當中完成任務的操作
public abstract void wanChengRenWu(CallBack callBack);
}
04. 具體員工類 KoBe
/**
* 定義具體的員工類KoBe.完成員工任務的操作
*/
public class KoBe extends Employee {
@Override
public void wanChengRenWu(CallBack callBack) {
// 模擬完成工作的情況抵知。需要消耗一定的時間
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// 回調操作,反饋給領導情況
callBack.baoGao(666);
}
}
05. 測試類 Test
/***
* 定義測試類完成 測試.創(chuàng)建老板Boss的對象以及 員工對象
*/
public class Test {
public static void main(String[] args) {
// 老板的對象
Boss b = new Boss();
// 具體員工的對象
KoBe k = new KoBe();
// 老板下達任務
b.xiaDaRenWu(k);
}
}
最終運行效果(“員工報告反饋信息”等4秒后 才會出現(xiàn))
Boss下達任務了,等待員工去完成...
員工報告回饋信息: 666
四墙基、 后序
這個例子是一個典型的體現(xiàn)接口作用的例子,有些朋友可能不太明白接口的好處.
當各位朋友不太明白接口好處的朋友可以重點看一下這個例子刷喜,多多理解残制。
總結起來,回調的核心就是<font color="red"> 回調方將本身即this傳遞給調用方.</font>這樣調用方就可以在調用完畢之后告訴回調方它想要知道的信息掖疮。