怎样理解java中的回调函数

 我来答
决战473
2016-11-19 · TA获得超过120个赞
知道小有建树答主
回答量:497
采纳率:0%
帮助的人:433万
展开全部
 程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序。程序员B要让a调用自己的程序b中的一个方法,于是,他通过a中的接口回调自己b中的方法。目的达到。在C/C++中,要用回调函数,被掉函数需要告诉调用者自己的指针地址,但在JAVA中没有指针,怎么办?我们可以通过接口(interface)来实现定义回调函数。
假设我是程序员A,以下是我的程序a:
  [java] view plaincopyprint?
  public class Caller
  {
  public MyCallInterface mc;
  
  public void setCallfuc(MyCallInterface mc)
  {
  this.mc= mc;
  }
  
  public void call(){
  this.mc.method();
  }
  }
  还需要定义一个接口,以便程序员B根据我的定义编写程序实现接口。

  public interface MyCallInterface
  {
  public void method();
  
  }
  于是,程序员B只需要实现这个接口就能达到回调的目的了:
  public class B implements MyCallInterface
  {
  public void method()
  {
  System.out.println("回调");
  }
  
  public static void main(String args[])
  {
  Caller call = new Caller();
  call.setCallfuc(new B());
  call.call();
  }
  }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式