回调函数课程(一):回调函数定义及用接口实现的实例

回调函数教程(一):回调函数定义及用接口实现的实例

回调函数定义:

传递一个函数A到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称,就叫做匿名回调函数。或者将一个方法对象A 传递给另一个方法对象 B,让后者在适当的时候执行A,那么A就叫做回调函数。

回调函数实例理解:

消防员给出一个电话号码119(这是每个人都知道的,119就相当于Java中的一个接口),并且在每一个地方都设置一个发生火灾时的检测装置,如果危急到人们的人生安全时,那么市民就可以通过119给消防员打电话,然后叫消防员来处理。回调的意思就是说,消防员给我们一个火警电话,发生火灾时我们就可以用这个号码给消防员打电话,但最终处理问题的不是我们自己,而是消防员。我们就相当于是一个信息反馈者,只负责给消防员反馈信息,最终该处理者还是消防员。

代码如下:

1.定义回调接口及回调中会被执行的方法,即拨打求救电话这个方法。

public interface MyCallback {  
     void call();      
}  
2.定义可以对回调接口进行操作的类
public class Caller {  
 
    private MyCallback myCallback;  
      
    public void doCall(){  
        myCallback.call();  
   }  
  
    public void setMyCallback(MyCallback myCallback) {  
        this.myCallback = myCallback;  
    }  
      
}  
3.实例化具体回调函数,实现回调方法 ,告知消防员来进行救火
public class CallBackTest {  

    public static void main(String[] args) {  
          
        Caller caller = new Caller();  
      
        caller.setMyCallback(new MyCallback() {  
            @Override  
            public void call() {  
                System.out.println("Help");  
            }  
        });  
          
        caller.doCall();  
    }  
      
}