包含java回調函數的用法的詞條

本文目錄一覽:

在JAVA里 什麼是回調函數啊.?

所謂回調,就是客戶程序C調用服務程序S中的某個函數A,然後S又在某個時候反過來調用C中的某個函數B,對於C來說,這個B便叫做回調函數。

SAX的我不會寫,只會用DOM4J寫解析xml文檔的例子

如下:

SAXReader sax = new SAXReader();

String file = this.getServletContext().getRealPath(“/xml/news.xml”);//獲得xml文檔的路徑

Document doc = sax.read(file);

//獲得根元素坐標

Element root = doc.getRootElement();

String value = “”;

List nodes = root.selectNodes(“//new”);

//得到元素個數

int size = nodes.size();

//定位到最後一個元素

Element el = (Element) nodes.get(size – 1);

//得到該元素所有屬性集合

Iterator it = el.attributeIterator();

//循環遍歷

while (it.hasNext()) {

//將集合中包含的元素轉換為Attribute類型

Attribute att = (Attribute) it.next();

//取出裡面的數值

value = att.getValue();

}

這樣 所有的值就能都取出來了

不過 要導入這幾個包包

org.dom4j.*

org.dom4j.io.*

java.util.*

java.io.*

java 的回調函數是什麼?? 講的簡單些

所謂回調,就是客戶程序C調用服務程序S中的某個方法a,然後S又在某個時候反過來調用C中的某個方法b,對於C來說,這個b便叫做回調函數。

java中怎麼使用callback函數

在很多場景,作為開發都會想到,在執行完畢一個任務的時候,能執行一個callback函數是多麼好的事情。

現在模擬一下這個情景:

定義三個類。分別是主函數類。callback函數的介面類。業務處理類。在業務處理類中,處理完業務之後,執行一個callback函數。

[java] view plain copy

package comz;

public class Main {

public static void main(String[] args) {

new TestCallBack().compute(1000, new ComputeCallBack() {

@Override

public void onComputeEnd() {

System.out.println(“end back!!!”);

}

});

}

}

這是主函數類。new了一個業務處理類來處理邏輯,並在處理完畢之後,執行callback函數。

[java] view plain copy

package comz;

public class TestCallBack {

public void compute(int n, ComputeCallBack callback) {

for (int i = 0; i n; i++) {

System.out.println(i);

}

callback.onComputeEnd();

}

}

這是業務處理類。僅僅輸出一些數字,然後執行回調函數。

[java] view plain copy

package comz;

public interface ComputeCallBack {

public void onComputeEnd();

}

這是回調函數的介面。

————————————–

運行上面的代碼,就會在輸出結束的時候調用在Main裡面的callback函數,輸出System.out.println(“end back!!!”);

————————————–

這裡的原理是:

在主類中,新建業務類的時候,傳遞進去的第二個參數是一個實現了回調介面的匿名類對象。

在業務類中,我們調用了這個對象的onComputeEnd方法。在執行onComputeEnd的時候,jvm會找到這個對象的函數實現並調用。於是就輸出了end back!!!

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/300532.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-29 12:51
下一篇 2024-12-29 12:51

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字元串操作中,capitalize函數常常被用到,這個函數可以使字元串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29

發表回復

登錄後才能評論