1、什么是Callback,什么时候需要使用Callback
callback是回调的意思,一般我们需要2个类需要相互掉用,一个类把数据动态传递给另外一个类的时候,可以用这种方式,比如Android里面的Launcher类和LauncherModel类,LauncherModel里面有接口很多没有实现的方法,Launcher实现LauncherModel的接口,实现方法,传递数据给LauncherModel类。
2、简单代码理解
1)CallBack.java文件内容如下
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);}@Overridepublic void before() {System.out.println("hello before");}@Overridepublic void after() {System.out.println("hello before");}public void doThing() {mCallback.doThing();}public static void main(String[] args) {new TestCallBack().doThing();}}
3、运行结果
hello before
hello chenyu
hello before