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);
- }
-
- @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、运行结果
- hello before
- hello chenyu
- hello before