Java學習之什麼是回調?

{ 比如你是某翻譯部的老編,將某國外著作交給了你的手下,並告訴他說:“請翻譯好後交給我。”他對你說:“好的,我知道了。”於是經過一段時間,你的這位手下翻譯好了這本書,並按照你所說的將成果交給你。
上面這個例子其實就是一次回調。轉換成我們的程序就是如下:
Class Leader {
Void 交給我(成果) {
……
}
Void 下命令() {
Member.接收命令(交給我(成果));
}
}
Class Member {
Void 接收命令(交給你(成果)) {
// 執行命令
交給你(成果);
}
}
首先老編有兩個方法――交給我、下命令。交給我這個方法中有一個參數――成果。手下有一個接收命令的方法,該方法有一個交給你(成果)的參數,對應着老編的交給我方法。換句話說,老編在下命令時將自己的一個方法也一同告訴了手下,那麼手下在執行完命令後回調老編告訴的那個方法。這就是回調。
}
這樣,我的理解就是:A在自己的方法a中執行了B的方法b,並將自己的另一個方法c作爲b方法參數。方法b在執行時使用了A傳遞進的方法c。整個過程是這樣的:只需要執行A的a方法。a方法將自動執行B的b方法,b方法自動執行A的c方法。而這個過程就是回調。
另外,在向大頭楊同學求教的過程中,他告訴了我一個十分經典的對於回調的說明:回調就是一個"出來混遲早要還的過程"。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章