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

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

hot3.png

所谓的回调,就是程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序。程序员B要让a调用自己的程序b中的一个方法,于是,他通过a中的接口回调自己b中的方法。

1.  首先定义一个类Caller,按照上面的定义就是程序员A写的程序a,这个类里面保存一个接口引用。

复制代码

public class Caller {      private MyCallInterface callInterface;            public Caller() {      }            public void setCallFunc(MyCallInterface callInterface) {          this.callInterface = callInterface;      }            public void call() {          callInterface.printName();      }  }

复制代码

2.  当然需要接口的定义,为了方便程序员B根据我的定义编写程序实现接口。

public interface MyCallInterface {      public void  printName();  }

3.  第三是定义程序员B写的程序b

复制代码

public class Client implements MyCallInterface {        @Override      public void printName() {          System.out.println("This is the client printName method");      }  }

复制代码

4.  测试如下

复制代码

public class Test {      public static void main(String[] args) {          Caller caller = new Caller();          caller.setCallFunc(new Client());          caller.call();      }  }

复制代码

5.  在测试方法中直接使用匿名类,省去第3步。

复制代码

public class Test {      public static void main(String[] args) {          Caller caller = new Caller();  //      caller.setCallFunc(new Client());          caller.setCallFunc(new MyCallInterface() {              public void printName() {                  System.out.println("This is the client printName method");              }          });          caller.call();      }  }

复制代码

转载于:https://my.oschina.net/solarxie/blog/741306

你可能感兴趣的文章
配置php开发环境
查看>>
函数的调用过程(栈帧)
查看>>
MySQL主从复制与lvs+keepalived单点写入读负载均衡高可用实验【转】
查看>>
SOA面向服务化编程架构(dubbo)
查看>>
sphinx全文索引开源
查看>>
junit测试套件
查看>>
向一个网站发请求的几种方式
查看>>
UVA - 10245 The Closest Pair Problem
查看>>
利用Bootstrap制作一个流行的网页
查看>>
大型网站架构 图片服务器分离
查看>>
【设计模式】迭代器模式(Iterator )
查看>>
Linux ssh安全设置
查看>>
LVM逻辑卷管理
查看>>
ubuntu:重装之后软件安装流程
查看>>
python读写不同编码txt文件
查看>>
Linux 基本命令(持续更新ing)
查看>>
java基础必备单词讲解 day six
查看>>
第7章 SpringMVC高级技术
查看>>
C语言结构体里的成员数组和指针
查看>>
【转】AlphaGo Zero 和强人工智能
查看>>