當前位置:首頁 » 廢水回用 » java回調方法有什麼用

java回調方法有什麼用

發布時間: 2020-12-17 21:47:46

㈠ 請問JAVA中介面中自動回調方法的原理是什麼

那就是繼承,你實現了一個介面就是這個介面的子類了,當然就可以調用了。回子類自動繼承父類的答方法,但是介面的方法是抽象的你必須要實現,所有可以確保你實現這個介面就必須有這個介面的方法了。而且子類變父類是可以直接用的,所以就可以自動調用了。
最好的方式就是去看下源代碼,你就完全明白這種機制了。然後自己可以寫個小例子比如:監聽Vector只要加入了新元素就發個消息的。

㈡ java中怎樣定義回調函數

程序員A寫了一段程序(程序a),其中預留有回調函數介面,並封裝好了該程序。程序員B要讓a調用自己的程序b中的一個方法,於是,他通過a中的介面回調自己b中的方法。目的達到。在C/C++中,要用回調函數,被掉函數需要告訴調用者自己的指針地址,但在JAVA中沒有指針,怎麼辦?我們可以通過介面(interface)來實現定義回調函數。
假設我是程序員A,以下是我的程序a:
[java] view plainprint?
public class Caller
{
public MyCallInterface mc;

public void setCallfuc(MyCallInterface mc)
{
this.mc= mc;
}

public void call(){
this.mc.method();
}
}
還需要定義一個介面,以便程序員B根據我的定義編寫程序實現介面。

public interface MyCallInterface
{
public void method();

}
於是,程序員B只需要實現這個介面就能達到回調的目的了:
public class B implements MyCallInterface
{
public void method()
{
System.out.println("回調");
}

public static void main(String args[])
{
Caller call = new Caller();
call.setCallfuc(new B());
call.call();
}
}

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

就是你媽媽在做飯,你在玩電腦。媽媽做飯是回調函數,飯做完了會通知你,隨後你再執行關閉電腦方法去吃飯。沒有回調函數的話,在媽媽做完飯以前,你不能做其他事,只能等。做完飯了,你結束等待,去吃飯

㈣ java的介面回調在什麼情況下使用這樣做有什麼好處

你用了Spring就知道 平時一般我們會把常用的方法封裝在介面裡面 ,然後去實現這個接回口 重寫裡面的方法答, 介面回調 說白了 就是通過介面 來調用介面裡面的方法 面向介面編程 介面.方法名,如果摟在學了Spring你就知道了 什麼叫介面編程了 裡面會大量使用 介面來調用方法,其實這個跟你講 還不是特別好講 這個就必須結合Spring框架來跟你講了 估計你要暈 等你學了SPring 我相信你就明白了 希望我的回答對摟主有所幫助 歡迎繼續提問 謝謝

㈤ Java中什麼是介面回調

什麼是介面回調?1.介面回調是什麼[2]?介面回調是指:可以把使用某一介面的類創建的對象的引用賦給該介面聲明的介面變數,那麼該介面變數就可以調用被類實現的介面的方法。實際上,當介面變數調用被類實現的介面中的方法時,就是通知相應的對象調用介面的方法,這一過程稱為對象功能的介面回調。看下面示例。interface People{ void peopleList();}class Student implements People{ public void peopleList(){ System.out.println("I』m a student.");}}class Teacher implements People{ public void peopleList(){ System.out.println("I』m a teacher.");}}public class Example{ public static void main(String args[]){ People a; //聲明介面變數a=new Student(); //實例化,介面變數中存放對象的引用a.peopleList(); //介面回調a=new Teacher(); //實例化,介面變數中存放對象的引用a.peopleList(); //介面回調}}結果:I』m a student.I』m a teacher.再來看看向上轉型(upcasting)的概念。 2.什麼是向上轉型[1]?Shape s=new Circle();這里,創建了一個Circle對象,並把得到的引用立即賦值給Shape。通過繼承,Circle就是一種Shape。假設你調用基類方法(它已在導出類中被覆蓋):s.draw();由於後期綁定(多態),將會正確調用Circle.draw()方法。 3.向上轉型與介面回調的區別看似向上轉型和介面回調是一回事。看下面兩句話,均出自Thinking in Java。使用介面的核心原因:為了能夠向上轉型為多個基類型[1]。即利用介面的多實現,可向上轉型為多個介面基類型(具體見《抽象與介面》章節6)。從實現了某介面的對象,得到對此介面的引用,與向上轉型為這個對象的基類,實質上效果是一樣的。(此句摘自Thinking in Java 3rd 介面與內部類一章)所以,我認為,這兩個概念是從兩個方面來解釋一個行為。介面回調的概念,強調使用介面來實現回調對象方法使用權的功能(下一章節詳細分析)。而向上轉型則牽涉到多態和運行期綁定的范疇。 4.用 Java 介面實現回調函數的等價功能熟悉 MS-Windows 和 X Window System 事件驅動編程模型的開發人員,習慣於傳遞在某種事件發生時調用(即「回調」)的函數指針。Java 的面向對象模型目前並不支持方法指針,Java 的介面支持提供了一種獲得回調的等價功能的機制。其技巧就是:定義一個簡單介面,並在該介面中聲明我們要調用的方法。假定我們希望在某個事件發生時得到通知。我們可以定義一個介面:InterestingEvent.javapackage org.zj.sample;public interface InterestingEvent { public void interestingEvent ();}這使得我們可以控制實現該介面的類的任何對象。因此,我們不必關心任何外部類型信息。發出事件信號的類必須等待實現了 InterestingEvent 介面的對象,並在適當時候調用 interestingEvent() 方法。EventNotifier.javapackage org.zj.sample;public class EventNotifier { private InterestingEvent ie; private boolean somethingHappened; public EventNotifier(InterestingEvent event) { ie = event; // 保存事件對象以備後用。 somethingHappened = false; // 還沒有要報告的事件。 } public void doWork() { if (somethingHappened) { // 檢查設置的謂詞。 ie.interestingEvent();// 通過調用介面的這個方法發出事件信號。 } } public void setHappened(){//設置謂詞。 somethingHappened=true; }}在上例中,使用 somethingHappened 謂詞來跟蹤是否應觸發事件。希望接收事件通知的代碼必須實現 InterestingEvent 介面,並將自身引用傳遞給事件通知程序。CallMe.javapackage org.zj.sample;public class CallMe implements InterestingEvent { @SuppressWarnings("unused") private EventNotifier en; public CallMe() { // 注意 EventNotifier (InterestingEvent event),應該傳遞一個介面類型。 // 而下面將this,即實現了InterestingEvent介面的CallMe實例傳遞給//EventNotifier。也就是所謂的介面回調了。 en = new EventNotifier(this); // 創建事件通知程序,並將自身引用傳遞給它。 } // 為事件定義實際的處理程序。

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

C語言中回調函數解釋:
回調函數(Callback Function)是怎樣一種函數呢?
函數是用來被調用的,我們調用函數的方法有兩種:
l 直接調用:在函數A的函數體里通過書寫函數B的函數名來調用之,使內存中對應函數B的代碼得以執行。這里,A稱為「主叫函數」(Caller),B稱為「被叫函數」(Callee)。
l 間接調用:在函數A的函數體里並不出現函數B的函數名,而是使用指向函數B的函數指針p來使內存中屬於函數B的代碼片斷得以執行——聽起來很酷,是吧。
比起直接調用來,間接調用的確麻煩,那為什麼還要使用間接調用呢?原因很簡單——直接調用把函數名都寫進函數體了,經過編譯器那麼一編譯,板上釘釘,A註定調用的是B了,這樣的程序只能按照程序員事先設計好的流程執行下去,太呆板了。此時,間接調用的巨大靈活性就顯現出來了。想一想,如果p是函數A的一個參數(參數是變數,是變數就可以變嗎!),那麼程序的最終用戶完全可以通過操作來改變p的指向——這樣,A在通過p調用函數的時候就有機會調用到不同的函數,這樣程序的實用性和擴展性就強多了。
在WINDOWS中,程序員想讓系統DLL調用自己編寫的一個方法,於是利用DLL當中回調函數(CALLBACK)的介面來編寫程序,使它調用,這個就稱為回調。在調用介面時,需要嚴格的按照定義的參數和方法調用,並且需要處理函數的非同步,否則會導致程序的崩潰。這樣的解釋似乎還是比較難懂,這里舉個簡單的例子,程序員A寫了一段程序(程序a),其中預留有回調函數介面,並封裝好了該程序。程序員B要讓a調用自己的程序b中的一個方法,於是,他通過a中的介面回調自己b中的方法。目的達到。在C/C++中,要用回調函數,被掉函數需要告訴調用者自己的指針地址,但在JAVA中沒有指針,怎麼辦?我們可以通過介面(interface)來實現定義回調函數。
正常情況下開發人員使用已經定義好的API,這個過程叫Call。但是有時這樣不能滿足需求,就需要程序員注冊自己的程序,然後讓事先定義好多API在合適的時候調用注冊的方法,這叫CallBack。
「通常大家說的回調函數一般就是按照別人(李四)的定好的介面規范寫,等待別人(張三)調用的函數,在C語言中,回調函數通常通過函數指針來傳遞;在Java中,通常就是編寫另外一個類或類庫的人(李四)規定一個介面,然後你(張三)來實現這個介面,然後把這個實現類的一個對象作為參數傳給別人的程序,別人的程序必要時就會通過那個介面來調用你編寫的函數。」

㈦ 請問java里的回調函數是什麼意思

回調函數一般只是供系統調用的,程序員一般很少調用或者修改

㈧ JAVA裡面方法回調是什麼意思

所謂回調,就是客戶程序C調用服務程序S中的某個函數A,然後S又在某個時候反過來調用C中的某個函數B,對於C來說,這個B便叫做回調函數。例如Win32下的窗口過程函數就是一個典型的回調函數。一般說來,C不會自己調用B,C提供B的目的就是讓S來調用它,而且是C不得不提供。由於S並不知道C提供的B姓甚名誰,所以S會約定B的介面規范(函數原型),然後由C提前通過S的一個函數R告訴S自己將要使用B函數,這個過程稱為回調函數的注冊,R稱為注冊函數。Web Service以及Java的RMI都用到回調機制,可以訪問遠程伺服器程序。

下面舉個通俗的例子:
某天,我打電話向你請教問題,當然是個難題,^_^,你一時想不出解決方法,我又不能拿著電話在那裡傻等,於是我們約定:等你想出辦法後打手機通知我,這樣,我就掛掉電話辦其它事情去了。過了XX分鍾,我的手機響了,你興高采烈的說問題已經搞定,應該如此這般處理。故事到此結束。這個例子說明了「非同步+回調」的編程模式。其中,你後來打手機告訴我結果便是一個「回調」過程;我的手機號碼必須在以前告訴你,這便是注冊回調函數;我的手機號碼應該有效並且手機能夠接收到你的呼叫,這是回調函數必須符合介面規范。

通過上面個人感覺到回調更多的應用就是結合非同步。比如:Ajax中js通過組件和伺服器的非同步通信。

㈨ Java 什麼是回調

  1. 所謂回調,就是客戶程序Client調用服務程序Service中的某個方法A,然後Service又在某個時候反內過來調用容Client中的某個方法B,對於Client來說,這個B便叫做回調函數

  2. 回調實現的步驟
    1、定義回調介面和回調方法
    2、Client實現回調介面和回調方法,並在Client中包含Service引用,通過引用調用Servie中的方法並且必須傳入一個當前對象Client(因為當前對象實現了CallBack介面所以也屬於介面對象)
    3、在Service中定義一個介面對象並在方法中對初始化(將Client傳過來的當前對象賦值給介面對象),通過介面對象調用介面中方法(調用的Client實現的介面方法)
    4、測試

熱點內容
丁度巴拉斯情人電影推薦 發布:2024-08-19 09:13:07 瀏覽:886
類似深水的露點電影 發布:2024-08-19 09:10:12 瀏覽:80
《消失的眼角膜》2電影 發布:2024-08-19 08:34:43 瀏覽:878
私人影院什麼電影好看 發布:2024-08-19 08:33:32 瀏覽:593
干 B 發布:2024-08-19 08:30:21 瀏覽:910
夜晚看片網站 發布:2024-08-19 08:20:59 瀏覽:440
台灣男同電影《越界》 發布:2024-08-19 08:04:35 瀏覽:290
看電影選座位追女孩 發布:2024-08-19 07:54:42 瀏覽:975
日本a級愛情 發布:2024-08-19 07:30:38 瀏覽:832
生活中的瑪麗類似電影 發布:2024-08-19 07:26:46 瀏覽:239