美文网首页
回调模式的理解

回调模式的理解

作者: Mashell熙 | 来源:发表于2019-05-20 17:12 被阅读0次

    类A想让类B在某个时间段(sometime)完成某样事情(dosomething),类B完成某事后,再通知(callback)类A执行后续该执行的事情

    1.A 实现 回调接口 C ,并实现接口C中的抽象方法

    2.A 中包含 成员变量B,在需要的时候调用B的dosomething(this)方法,

    3.B的dosomething(CallBack callback)方法调用A的回调方法

    举例:我想让闹钟在2小时后钟响,当闹钟响了之后,我去上班。亦即是you call me, i will call back

    public class Clock {
        public void excute(final CallBack callback){
            new Thread(new Runnable() {
                @Override
                public void run() {
                    int i = 1000;
                    while(i<1000*60*60*2){
                        try {
                            Thread.sleep(1000);
                            i++;
                        } catch (InterruptedException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                    }
                    callback.doSomeThing();
                }
            }).start();
        }
        
        public interface CallBack{
            void doSomeThing();
        }
    }
    
    import javaTest.Clock.CallBack;
     
    public class My implements CallBack {
        
        private Clock clock;
        
        public My(){
        }
        
        public My(Clock clock){
            this.clock = clock;
            this.clock.excute(this);
        }
        
        @Override
        public void doSomeThing() {
            System.out.println("起床去上班了");
        }
     
    }!
    

    相关文章

      网友评论

          本文标题:回调模式的理解

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