最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Java接口回調詳解

 更新時間:2021年12月28日 11:59:10   作者:iteen  
這篇文章主要介紹了Java接口回調詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Java接口回調

產生接口回調的場景

在現(xiàn)實生活中,產生接口回調的場景很簡單,比如我主動叫你幫我做一件事,然后你做完這件事之后會通知我,"通知我"這個動作就是接口回調的動作.接口回調重在理解思就好.再舉個例子用于下面的代碼演示,老師讓學生做課堂練習,學生做完練習后并告訴老師.

什么是接口回調

在Java的層面簡單的說一下接口回調:現(xiàn)有一個接口A,和它的實現(xiàn)類A1,和另外一個有接口A引用的類B,因為類B中有接口A的引用,在B執(zhí)行完方法后,可以通過接口A的引用,告訴A執(zhí)行完成了這個方法.由于A是一個接口,所以具體接收執(zhí)行完成這個方法在它是實現(xiàn)類A1中體現(xiàn).

在代碼中的使用

以上面老師叫學生做課堂作業(yè)為例,我們先創(chuàng)建一個回調接口,以及用于接收學生做完課堂作業(yè)的消息

public interface BackInterface {
	void backMethod();	
}

然后定義一個實現(xiàn)類Teacher,功能是讓學生做課堂練習,接收學生做完課堂練習的通知

public class Teacher implements BackInterface {
	
	//因為老師要告訴學生做課堂練習,所以這個傳一個學生的引用
	private Student student;
	
	public Teacher(Student student){
		this.student = student;
	}
	//老師告訴學生做課堂練習
	public void doEvent(){
		System.out.println("老師讓學生做練習...");
		student.doPractice(this);
	}
	//用于接收接口回調的消息
	@Override
	public void backMethod() {
		System.out.println("老師接收到學生做完課堂練習的消息");
	} 
}

學生類,功能是做練習,做完之后并告訴老師(回調)

public class Student {
	
	//學生做課堂練習,并告訴老師
	public void doPractice(BackInterface BackInterface) {
		System.out.println("學生做練習...");
		System.out.println("學生告訴老師做完練習...");
		BackInterface.backMethod();
	}
}

進行測試:

public class BackDemo {
	public static void main(String[] args) {
		Teacher teacher = new Teacher(new Student());
		teacher.doEvent();
	}
}

結果:

我們可以看到回調完成.在實際開發(fā)過程中為了保證效率我們往往發(fā)布任務的時候會做成異步的,在本例中就是把 "老師讓學生做課堂練習" 做成異步,具體實現(xiàn)很簡單,就是新建一個線程就可以了,也就是把Teacher類中的 "student.doPractice(this);"代碼改成下面的代碼:

new Thread(new Runnable() {
			@Override
			public void run() {
			}
		}).start();

還有就是為了代碼的簡潔,我們常常把Teacher類寫成匿名內部類的形式,代碼就不演示了

Java接口回調測試

接口類

package com.java.demo.callBack_Interface; 
public interface CallBack {
    void getHValue(String s);
}

實現(xiàn)類

package com.java.demo.callBack_Interface; 
public class ApplyPro implements CallBack{  
    public void getHValue(String sre) {
        String ss=sre;
        System.out.print(ss);
    }
}

回調

package com.java.demo.callBack_Interface; 
public class TestC  {
    CallBack callback;
    public TestC(CallBack callBack)
    {
        this.callback=callBack;
    }
    public  void getSpeak(){
        String str="開始表演";
        callback.getHValue(str);
    }
}

實現(xiàn)測試

package com.java.demo.callBack_Interface; 
public class TestMain {
    public static void main(String[] args){
        TestC tc=new TestC(new ApplyPro());
        tc.getSpeak();
    }
}

展示結果:只要打印出來開始表演,表示回調成功?。。?/p>

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • spring mvc DispatcherServlet之前端控制器架構詳解

    spring mvc DispatcherServlet之前端控制器架構詳解

    這篇文章主要為大家詳細介紹了spring mvc DispatcherServlet之前端控制器架構,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • SpringBoot整合Java Web三大件的詳細過程

    SpringBoot整合Java Web三大件的詳細過程

    這篇文章主要介紹了SpringBoot整合Java Web三大件的詳細過程,注冊自定義的Servlet、Filter、Listener組件到springboot內嵌的Servlet容器,讓它們發(fā)揮自己的作用,需要的朋友可以參考下
    2025-04-04
  • Netty分布式ByteBuf使用的回收邏輯剖析

    Netty分布式ByteBuf使用的回收邏輯剖析

    這篇文章主要介紹了Netty分布式ByteBuf使用的回收邏輯剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • Java文件復制多種方法實例代碼

    Java文件復制多種方法實例代碼

    近期用到文件復制,雖然程序很簡單,因為時間久了淡忘了,所以寫一篇文章記錄一下,下面這篇文章主要給大家介紹了關于Java文件復制多種方法的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • Java?Spring的使用注解開發(fā)詳解

    Java?Spring的使用注解開發(fā)詳解

    這篇文章主要為大家介紹了Java?Spring注解開發(fā),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • SpringSecurity的安全過濾器鏈功能詳解

    SpringSecurity的安全過濾器鏈功能詳解

    本文介紹了如何配置SpringSecurity的安全過濾器鏈,包括定義URL路徑的訪問權限、用戶認證和授權配置、自定義CSRF過濾器等內容,通過這些配置,可以實現(xiàn)對不同URL路徑的訪問控制以及用戶的登錄、注銷等功能,感興趣的朋友一起看看吧
    2025-03-03
  • java基于Apache FTP點斷續(xù)傳的文件上傳和下載

    java基于Apache FTP點斷續(xù)傳的文件上傳和下載

    本篇文章主要介紹了java基于Apache FTP點斷續(xù)傳的文件上傳和下載,利用FTP實現(xiàn)文件的上傳和下載,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2016-11-11
  • Java處理圖片實現(xiàn)base64編碼轉換

    Java處理圖片實現(xiàn)base64編碼轉換

    這篇文章主要介紹了Java處理圖片實現(xiàn)base64編碼轉換,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • 泛型的類型擦除后fastjson反序列化時如何還原詳解

    泛型的類型擦除后fastjson反序列化時如何還原詳解

    這篇文章主要為大家介紹了泛型的類型擦除后fastjson反序列化時如何還原詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • SpringBoot 多環(huán)境配置和啟動詳解

    SpringBoot 多環(huán)境配置和啟動詳解

    這篇文章主要為大家介紹了SpringBoot多環(huán)境配置和啟動詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10

最新評論

桐梓县| 临朐县| 同江市| 洛扎县| 西华县| 定陶县| 明溪县| 永德县| 平江县| 淮滨县| 东海县| 西城区| 双流县| 仁布县| 咸丰县| 健康| 涞水县| 健康| 汾阳市| 内丘县| 厦门市| 鹤庆县| 建宁县| 张掖市| 通河县| 建始县| 晋江市| 南和县| 吴旗县| 博客| 射阳县| 光山县| 新干县| 德兴市| 中超| 凤庆县| 洛阳市| 寿宁县| 报价| 涡阳县| 斗六市|