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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

Java回调函数实现案例

發(fā)布時(shí)間:2023/12/9 java 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java回调函数实现案例 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、什么是回調(diào)函數(shù)

? ? ? ? 回調(diào)函數(shù),是一個(gè)通過(guò)函數(shù)指針調(diào)用的函數(shù)。如果你把函數(shù)的指針(地址)作為參數(shù)傳遞給另一個(gè)函數(shù),當(dāng)這個(gè)指針被用來(lái)調(diào)用其所指向的函數(shù)時(shí),我們就說(shuō)這是回調(diào)函數(shù)。在Java中,指針即所謂的引用。回調(diào)函數(shù)不是由該函數(shù)的實(shí)現(xiàn)方直接調(diào)用,而是在特定的事件條件發(fā)生時(shí)由另外的一方調(diào)用的,用于對(duì)該事件或條件進(jìn)行響應(yīng)。

? ? ? ? 回調(diào)方法 是 任何一個(gè) 被 以該回調(diào)方法為其第一個(gè)參數(shù) 的 其它方法 調(diào)用 的方法。很多時(shí)候,回調(diào)是一個(gè)當(dāng)某些事件發(fā)生時(shí)被調(diào)用的方法。

2、應(yīng)用場(chǎng)景

事件驅(qū)動(dòng)機(jī)制

舉例:甲雇傭乙修車;然后甲就去做其他事情;乙完成后通知甲:車已修好,請(qǐng)來(lái)取。即甲沒(méi)必要一直等待乙修完車。

3、代碼示例

1、測(cè)試類

package com.callBack; public class CallBckTest {public static void main(String[] args) {MainBusiness mainBusiness = new MainBusiness();System.out.println("*********具體實(shí)現(xiàn)類實(shí)現(xiàn)的回調(diào)方法_固定*********");mainBusiness.execute(new CallbackServiceImpl());System.out.println("*********匿名內(nèi)部類實(shí)現(xiàn)的回調(diào)方法_靈活*********");mainBusiness.execute(new CallbackService() {public void callBackFunc() {System.out.println("匿名內(nèi)部類回調(diào)函數(shù)開始執(zhí)行...");System.out.println("匿名內(nèi)部類回調(diào)函數(shù)結(jié)束執(zhí)行...\n");}});} }

2、業(yè)務(wù)類與方法?

package com.callBack; public class MainBusiness {private CallbackService callback;public void execute(CallbackService callback) {this.callback = callback;callBack();}public void callBack() {callback.callBackFunc();} }

3、回調(diào)函數(shù)接口?

package com.callBack; //回調(diào)函數(shù)之接口與方法 public interface CallbackService {void callBackFunc(); }

4、回調(diào)函數(shù)實(shí)現(xiàn)類

package com.callBack; public class CallbackServiceImpl implements CallbackService {@Overridepublic void callBackFunc() {System.out.println("具體實(shí)現(xiàn)類回調(diào)函數(shù)開始執(zhí)行...");System.out.println("具體實(shí)現(xiàn)類回調(diào)函數(shù)結(jié)束執(zhí)行...\n");} }

5、打印結(jié)果

*********具體實(shí)現(xiàn)類實(shí)現(xiàn)的回調(diào)方法_固定********* 具體實(shí)現(xiàn)類回調(diào)函數(shù)開始執(zhí)行... 具體實(shí)現(xiàn)類回調(diào)函數(shù)結(jié)束執(zhí)行...*********匿名內(nèi)部類實(shí)現(xiàn)的回調(diào)方法_靈活********* 匿名內(nèi)部類回調(diào)函數(shù)開始執(zhí)行... 匿名內(nèi)部類回調(diào)函數(shù)結(jié)束執(zhí)行...

?

?

總結(jié)

以上是生活随笔為你收集整理的Java回调函数实现案例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。