美文网首页
接口回调

接口回调

作者: lucas777 | 来源:发表于2022-04-05 09:15 被阅读0次
    /**
     *    老方   :   黑马的CEO                                       想公司的战略,,也数钱           class    A
     * 
     *    华哥   :   黑马android部门的负责人                  讲课,排课表                           class   B
     *    
     *    老方   :   拿起电话问:泽华,,,,明天29期讲什么课程。。。
     *   
     *    华哥   :    想了很久。。。。没有想起来,明天是什么课程。。。。。
     *    
     *    老方   :   那你看看课表,明天29期是什么课程
     *    
     *    华哥    :  我这会特别忙。。。没空搭理你。。。。。
     *    
     *    老方   :   在电话里面说。。那行吧,那你 忙完了,一会在打电话告诉我。。
     *    
     *    华哥    : 忙了很长久,,终于忙完了。。。。在拿起电话回复老方,,这个回复的方法就是回调。
     */
    
    /**
     * 
     * 什么是回调:
     * 
     * 回调就是2个类之间进行交互。
     * 
     * class A 方法D
     * 
     * class B 方法C
     * 
     * classA 想去调用classB里面的C方法。
     * 
     * 结果 成了,calssB 去调用classA 里面的D方法
     */
    public class Main {
    
        public static void main(String[] args) {
    
            HuaGe huaGe = new HuaGe();
    
            LaoFang laoFang = new LaoFang(huaGe);
    
            laoFang.ask("明天29期是什么课程");
    
        }
    
    }
    
    /**
     * 这个是回调接口
     * 
     * @author Administrator
     * 
     */
    public interface CallBack {
        /**
         * 
         这个是回调方法
         */
        void result(String msg);
    }
    
    public class HuaGe implements CallBack {
    
        @Override
        public void result(String msg) {
    
        }
    
        /**
         * 
         这个是Class B 里面的C方法
         */
        public void message(CallBack laoFang, String msg) {
            System.out.println("这个是老方问华哥的问题" + msg);
    
            for (int i = 0; i < 10000; i++) {
    
            }
            System.out.println("华哥这个会想一下,明天29期是什么课程,想完之后也不知道什么课程");
            buzy();
    
            for (int i = 0; i < 10000; i++) {
    
            }
            System.out.println("华哥忙ing");
            String result = "明天29期是,项目实战课程";
            /*
             * 结果却成了class b 返过来调用了class A里面的D方法
             */
            laoFang.result(result);
        }
    
        private void buzy() {
            System.out.println("老方说,泽华,我现在很忙,那你一会,把课表看一下,在打电话告诉我,明天是什么课程");
        }
    
    }
    
    public class LaoFang implements CallBack {
        private HuaGe huaGe;
    
        public LaoFang(HuaGe huaGe) {
            this.huaGe = huaGe;
        }
    
        /*
         * 这个方法就是传说中的回调方法
         */
        @Override
        public void result(String msg) {
            System.out.println("华哥拿起电话告诉老方:" + msg);
        }
    
        /**
         * 
         class A 去华哥 老方通过这个方法去问华哥,msg
         */
        public void ask(String msg) {
            huaGe.message(LaoFang.this, msg);
        }
    
    }
    
    

    相关文章

      网友评论

          本文标题:接口回调

          本文链接:https://www.haomeiwen.com/subject/ehdhsrtx.html