博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 回调函数
阅读量:7078 次
发布时间:2019-06-28

本文共 973 字,大约阅读时间需要 3 分钟。

  首先说说什么叫回调函数,在WINDOWS中,程序员想让系统DLL调用自己编写的一个方法,于是利用DLL当中回调函数(CALLBACK)的接口来编写程序,使它调用,这个就称为回调。

  简单的说,程序员只需根据接口来编写相应的业务逻辑,然后通过调用dll即可调用自己的函数

举个例子:

程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序。程序员B要让a调用自己的程序b中的一个方法,于是,他通过a中的接口回调自己b中的方法。目的达到。在C/C++中,要用回调函数,被掉函数需要告诉调用者自己的指针地址,但在JAVA中没有指针,怎么办?我们可以通过接口(interface)来实现定义回调函数。

 

1 程序A 2 public class Caller { 3     private MyCallInterface mc; 4  5     public Caller() { 6     } 7  8     public void setCallfuc(MyCallInterface mc) { 9         this.mc = mc;10     }11 12     public void call() {13         mc.fuc();14     }15 }16 17 18 public interface MyCallInterface {19      public void fuc();20 }21 22 程序员B通过实现这个接口,将自己注册给A,当调用完A后,A会回调B中的函数23 public class Callee implements MyCallInterface {24 25     public void fuc() {26         System.out.println("in Callee's fuc()");27     }28 29     public static void main(String args[]) {30         Caller call = new Caller();31         call.setCallfuc(new Callee());32         call.call();33     }34 35 }

转载地址:http://sypml.baihongyu.com/

你可能感兴趣的文章
Fake 5提供.NET Core支持
查看>>
Mozilla开发全新的公开网络API WebXR 来实现增强现实
查看>>
Visual Studio 2017 15.9预览版3支持ARM64 for UWP
查看>>
LLVM3.8停止了旧Windows版本,取消Autoconf,改进Clang
查看>>
HTTP将死?又拍云布局HTTPS 护航网页安全加速
查看>>
Microsoft 365及应用开发的未来:微软BUILD 2018大会第二天主题演讲
查看>>
白话中台战略:中台是个什么鬼?
查看>>
Java值类型设计进展
查看>>
《Spark大数据分析》一书的书评和采访
查看>>
The Agile Mind-Set作者访谈
查看>>
Mads Torgersen介绍C# 7及后续版本新特性
查看>>
高通与华为短暂和解,理智看待国内5G现状
查看>>
Gartner调查:AI将成为企业颠覆的重要力量
查看>>
爱立信电信软件的持续交付
查看>>
微软必应从.NET Core 2.1获得了性能提升
查看>>
DevOps实战:Graphite监控上手指南
查看>>
SSPL的MongoDB再被抛弃,GUN Health也合流PostgreSQL
查看>>
知乎pure render专栏创办人@流形:选择React这条路,很庆幸
查看>>
修复.NET的HttpClient
查看>>
调查:Android的领先地位稳固
查看>>