全国热线

025-86901720

全国监督投诉热线:9:00-23:00

Java如何实现回调函数

今天南京学码思java培训机构老师为大家带来的是java实现回调函数的方法,一起来学习一下。

南京学码思java培训机构专业从事计算机人才培养,其中的热门课程——java开发,在学员中广受好评,这里有全职讲师面授课程,除了能为报名学员提供专业的教学服务外,也会经常为java爱好者分享一些教程和学习的技巧。今天学码思老师为大家带来的是java实现回调函数的方法,一起来学习一下。

Java如何实现回调函数

Java实现回调函数有什么好的方法?Java中没有指针,不能传递方法的地址,一般采用接口回调实现:把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法。


实现回调的原理简介如下:


首先创建一个回调对象,然后再创建一个控制器对象,将回调对象需要被调用的方法告诉控制器对象,控制器对象负责检查某个场景是否出现或某个条件是否满足。当此场景出现或此条件满足时,自动调用回调对象的方法。


可以举个现实生活中的例子:


一读者想借《软件技术学习与实践》这本书,但这本书已被其他读者借走了。于是,读者与图书馆管理员间发生了以下对话:


读者:“我把我的电话号码告诉你,等书一到就马上通知我。”

管理员:“好的。另一读者把书还回来后,马上给您打电话,书我先帮您留着。”

在上述这个场景中,读者就是“回调对象”,管理员就是“控制器对象”,读者的电话号码就是“回调对象的方法”。


详细的实例如下:

1、创建一个回调接口:

1 //回调接口

2 public interface ICallBack

3 {

4 void run();

5 }

复制代码

2、创建回调接口的实现类:

1 class CallBackClass implements ICallBack

2 {public void run()

3 {

4 //输出当前时间

5 System.out.println(System.currentTimeMillis() );

6 }

7 }

复制代码

3、创建控制类

1 class Controller

2 {

3 public ICallBack CallBackObject = null;// 引用回调对象

4 Scanner input = new Scanner(System.in); //读取命令行输入

5 public Controller(ICallBack obj)

6 {

7 this.CallBackObject = obj;

8 }

9 public void Begin()

10 {

11 while(input.next() != null)//判断是否有输入

12 {

13 CallBackObject.run();

14 }

15 }

16 }

复制代码

运行程序:

1 class Program

2 {

3 static void Main(string[] args)

4 {

5 //创建控制器对象,将提供给它的回调对象传入

6 Controller obj = new Controller(new CallBackClass());

7 //启动控制器对象运行

8 obj.Begin();

9 }

10 }

复制代码

在控制器类中引用了回调对象,因此就能调用回调方法,当控制器进行某些判断之后(如:监听鼠标单击操作)就会自动调用回调方法!


看了以上实例,回调函数是不是也没那么难以理解了呢?如果你对于java学习还有什么疑问或者想学习更多技巧的话,可以直接咨询学码思在线老师,有免费java教程和资料分享,还有机会获得免费试听学码思java培训课程的机会,你还在等什么?


上一篇:学码思程序员老司机传授改bug的通用套路
下一篇:学习java接口需要注意些什么

相关推荐

免费试听 | 学费咨询 | 在线报名 | 申请补贴 | 软件培训 | 网站地图

2016-2020 南京学码思教育科技有限公司 .All Rights Reserved

苏ICP备16033487号 www.njxms.com.cn

全国热线

400-080-3312

全国监督服务热线:9:00-23:00