zoukankan      html  css  js  c++  java
  • java 回调函数

      首先说说什么叫回调函数,在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 }
  • 相关阅读:
    More than 100 ABAP Interview Faq's
    SAP所有模块用户出口(User Exits)
    机器巡检基本知识
    SAP常用词汇
    ERP系统模块完全解析──工作中心
    abap基础
    topas命令详解
    企业如何处理制度、ISO质量体系与ERP系统的冲突
    在ALV表格中双击某一行记录后,显示明细记录
    Linux 命令修改图片尺寸!
  • 原文地址:https://www.cnblogs.com/feiling/p/2451319.html
Copyright © 2011-2022 走看看