java之簡單的Callback使用總結(jié)
1、什么是Callback,什么時候需要使用Callback
callback是回調(diào)的意思,一般我們需要2個類需要相互掉用,一個類把數(shù)據(jù)動態(tài)傳遞給另外一個類的時候,可以用這種方式,比如Android里面的Launcher類和LauncherModel類,LauncherModel里面有接口很多沒有實現(xiàn)的方法,Launcher實現(xiàn)LauncherModel的接口,實現(xiàn)方法,傳遞數(shù)據(jù)給LauncherModel類。
2、簡單代碼理解
1)CallBack.java文件內(nèi)容如下
package leetcode.chenyu.test;
public class CallBack {
private Callback mCallback;
public CallBack(Callback callback) {
this.mCallback = callback;
}
public static interface Callback {
public void before();
public void after();
}
public void doThing() {
mCallback.before();
System.out.println("hello chenyu");
mCallback.after();
}
}
2)TestCallBack.java文件如下
package leetcode.chenyu.test;
public class TestCallBack implements CallBack.Callback{
public CallBack mCallback;
public TestCallBack() {
mCallback = new CallBack(this);
}
@Override
public void before() {
System.out.println("hello before");
}
@Override
public void after() {
System.out.println("hello before");
}
public void doThing() {
mCallback.doThing();
}
public static void main(String[] args) {
new TestCallBack().doThing();
}
}
3、運行結(jié)果
hello before
hello chenyu
hello before
作者:chen.yu
深信服三年半工作經(jīng)驗,目前就職游戲廠商,希望能和大家交流和學(xué)習(xí),
微信公眾號:編程入門到禿頭 或掃描下面二維碼
零基礎(chǔ)入門進階人工智能(鏈接)