回调

回调:客户端A(高层)调用B(底层)的某个方法f(),B其实又调用了A的某个方法g();对于A来说,方法g()就是一个回调函数。(被调用方在接口被调用时也会调用对方的接口)

回调的价值在于可以在运行时刻动态决定需要调用什么方法。

回调机制的存在使得底层定义一个函数接口,高层可以自主实现该接口。从而不同高层调用同一底层接口产生不同表现。

JAVA中通过Interface实现回调:

Class A implements CallbackInterface{

       public void g(){

               //do something

       }

       public static void main(String[] args){

            B b=new B();

            b.setCallback(new A());

            b.f();

       }

}

//或者客户端A可以直接使用匿名类调用b.setCallback(new CallbackInterface(){

public void g(){  //。。。 }

});


Interface CallbackInterface {

     public void g();

}

Class B{

       private CallbackInterface c;

       public void setCallback(CallbackInterface c){

              this.c=c;

        }

       public void f(){

       }

}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容