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ǔ)入門進階人工智能(鏈接)