JAVA监听一个类的set方法_关于Java中监听回调的实现

本文介绍了在Java中如何利用接口模拟回调函数,通过创建一个`DownLoadListener`接口和`DownLoadFiles`类,展示了如何在文件下载完成后调用回调方法。回调在编程中用于实现代码自动调用,使得在特定事件发生时能够执行自定义操作。
摘要由CSDN通过智能技术生成

在编程中使用回调来实现代码的自动调用是非常常见的。而对于编程新手来说如何实现回调是一件看起来比较困难的事,但实际上回调的实现是非常简单的。

首先我们要理解回调的概念,下面我们引用一下wiki上的定义

在计算机程序设计中,回调函数,或简称回调(Callback 即call then back 被主函数调用运算后会返回主函数),是指通过函数参数传递到其它代码的,某一块可执行代码的引用。这一设计允许了底层代码调用在高层定义的子程序。

但是在Java语言中并没有函数类型的参数,wiki也给出了说明

在缺少函数类型的参数的面向对象的程序语言中,例如Java,回调可以用传递抽象类或接口来模拟。回调的接收者会调用抽象类或接口的方法,这些方法由调用者提供实现。这样的对象通常是一些回调函数的集合,同时可能包含它所需要的数据。这种方法在实现某些设计模式时比较有用,例如访问者模式,观察者模式与策略模式。

下面我就以为文件下载为例写一个文件下载完成后的回调函数。

首先我们要写一个接口这个接口内我们写一个完成下载的回调方法

interface DownLoadListener{ onDownLoadComplete(); }

而后我们在文件下载模块中写一个设置监听器的方法将别人实现的DownLoadListener设置给DownLoadFiles中持有的DownLoadListener对象

Class DownLoadFiles{ //下载模块自己持有的监听对象 DownLoadListener mListener; //该方法将其他人实现的DownLoadListener 对象设置给下载模块自己持有的对象 void setDownLoadListener(DownLoadListener listener){ mListener = listener; } }

<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值