簡單理解回撥
簡單理解回撥
標籤(空格分隔): java
雖然以前也是看過很多回撥方面的例子,甚至是跟著步驟把程式碼寫了一遍,然而後面遇到了回撥方法還是理解不到,運用不來。
紙上得來終覺淺,覺知此事要躬行
於是找到以前看過的博文,不看程式碼。看文字描述自己弄了一下,應該算是大徹大悟了。這篇博文是百度回撥的第一篇。致謝。
一個經典的例子讓你徹徹底底的理解java回撥機制
我覺得關鍵是實現過程:
- 背景一:類A要實現一個介面,這個介面中的方法就是回撥方法
- 背景二:類A持有類B的一個引用(反正類A中要出現類B的物件)
- 背景三:類B中要有一個以介面為引數的方法
- 大結局:在A類或者在任何想要實現回撥的場景中使用B的物件呼叫B中以介面為引數的方法,這個引數就傳入A的物件的例項,於是就可以在這個方法中使用A的物件來呼叫A中的方法(大結局有點混亂)
情景模擬: 我是一個老師類的物件,於是我就是千萬個老師之一,這裡的老師類就是類A。老師有很多的學生,於是就再建立一個學生類。我讓學生去交學費,交了就通知我(交學費只是簡單的一種,還有其他很多種耗時的操作)。好的,新建一個學生物件。但是交完錢怎麼通知我尼,我留下一個聯絡方式,就是老師類都有一個聯絡方式,實現了一個介面。而學生就得有通訊工具,那就是以老師類介面為引數的一個方法。當然在使用的時候要傳入我的引用。
A.java
public class A implements Callback {
private B b;
public A(B b) {
// TODO Auto-generated constructor stub
this.b = b;
}
public void g() {
// TODO Auto-generated method stub
System.out.println("I kown!");
}
public static void main(String[] args) {
A a = new A(new B());
a.b.f(a);
}
}
B.java
public class B {
void f(Callback callback) {
callback.g();
}
}
Callback.java
public interface Callback {
void g();
}
博主還說到安卓中的button的點選回撥:確實是經典
相關文章
- 簡單粗暴的去重promise的回撥Promise
- 回撥函式的理解(一)函式
- JavaScript中回撥的示例理解JavaScript
- Block 我所理解的回撥BloC
- Java回撥函式的理解Java函式
- java回撥函式-非同步回撥-簡明講解Java函式非同步
- jquery回撥函式中this的指向簡單介紹jQuery函式
- 深入理解 JavaScript 回撥函式JavaScript函式
- js 徹底理解回撥函式JS函式
- 回撥函式透徹理解Java函式Java
- js自定義回撥函式簡單程式碼例項JS函式
- 理解javascript中的回撥函式(callback)【轉】JavaScript函式
- Laravel 用 abstract 與 interface 寫一個簡單的支付回撥 demoLaravel
- 用Kotlin實現極簡回撥Kotlin
- 回撥函式到promise再到理解async/await函式PromiseAI
- Android基礎 四步教你理解回撥Android
- 對於Python中回撥函式的理解Python函式
- [JS]回撥函式和回撥地獄JS函式
- 從IL角度徹底理解回撥_委託_指標指標
- 簡單實現微信小程式支付+php後端(回撥、查詢訂單、訂單資訊入庫)微信小程式PHP後端
- cocos2dx打飛機專案筆記七:各種回撥:定時器schedule、普通回撥callFunc、選單回撥menu_selector、事件回撥event_selector...筆記定時器事件
- Activity生命週期回撥是如何被回撥的?
- 簡述回撥函式的意義和作用函式
- 回撥函式函式
- 微博回撥介面
- java介面回撥Java
- 非同步/回撥非同步
- JS 回撥模式JS模式
- C++回撥C++
- js 回撥 callbackJS
- 一個Demo帶你理解Android介面回撥機制Android
- java 介面回撥經典案例--網路請求回撥Java
- 【詳細、開箱即用】.NET企業微信回撥配置(資料回撥URL和指令回撥URL驗證)
- 簡單理解promisePromise
- Restful簡單理解REST
- EJB簡單理解
- BFC簡單理解
- 初學 PHP 對於回撥函式的一些理解PHP函式