java之簡(jiǎn)單的Callback使用總結(jié)
1、什么是Callback,什么時(shí)候需要使用Callback
callback是回調(diào)的意思,一般我們需要2個(gè)類需要相互掉用,一個(gè)類把數(shù)據(jù)動(dòng)態(tài)傳遞給另外一個(gè)類的時(shí)候,可以用這種方式,比如Android里面的Launcher類和LauncherModel類,LauncherModel里面有接口很多沒有實(shí)現(xiàn)的方法,Launcher實(shí)現(xiàn)LauncherModel的接口,實(shí)現(xiàn)方法,傳遞數(shù)據(jù)給LauncherModel類。
2、簡(jiǎn)單代碼理解
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、運(yùn)行結(jié)果
hello before
hello chenyu
hello before
作者:chen.yu
深信服三年半工作經(jīng)驗(yàn),目前就職游戲廠商,希望能和大家交流和學(xué)習(xí),
微信公眾號(hào):編程入門到禿頭 或掃描下面二維碼
零基礎(chǔ)入門進(jìn)階人工智能(鏈接)