java addcallback函数_java中怎么使用callback函数?

03badfc71a1878fb22cfdc203d7b70f7.png

UYOU

在很多场景,作为开发都会想到,在执行完毕一个任务的时候,能执行一个callback函数是多么好的事情。现在模拟一下这个情景:定义三个类。分别是主函数类。callback函数的接口类。业务处理类。在业务处理类中,处理完业务之后,执行一个callback函数。[java] view plain copypackage comz;public class Main {public static void main(String[] args) {new TestCallBack().compute(1000, new ComputeCallBack() {@Overridepublic void onComputeEnd() {System.out.println("end back!!!");}});}}这是主函数类。new了一个业务处理类来处理逻辑,并在处理完毕之后,执行callback函数。[java] view plain copypackage comz;public class TestCallBack {public void compute(int n, ComputeCallBack callback) {for (int i = 0; i < n; i++) {System.out.println(i);}callback.onComputeEnd();}}这是业务处理类。仅仅输出一些数字,然后执行回调函数。[java] view plain copypackage comz;public interface ComputeCallBack {public void onComputeEnd();}这是回调函数的接口。--------------------------------------运行上面的代码,就会在输出结束的时候调用在Main里面的callback函数,输出System.out.println("end back!!!");--------------------------------------这里的原理是:在主类中,新建业务类的时候,传递进去的第二个参数是一个实现了回调接口的匿名类对象。在业务类中,我们调用了这个对象的onComputeEnd方法。在执行onComputeEnd的时候,jvm会找到这个对象的函数实现并调用。于是就输出了end back!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/552662.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在java中的交换方法有哪些_java中交换两个变量的值有哪几种方法,交换两个变量a和b的值...

java中交换两个变量的值有哪几种方法在Java中&#xff0c;有哪些方法可以交换两个变量的值&#xff0c;方法&#xff1a;1.定义临时变量2.没有必要定义临时变量3.使用位运算符(学习视频分享&#xff1a;java课程)代码示例&#xff1a;公共类SwapTest {公共静态void main(String…

opc客户端读取数据品质是bad_听说看了这篇文章就彻底搞懂了什么是OPC(上)

从2000年初以来&#xff0c;我们就一直在使用OPC软件互操作性标准&#xff0c;而那些正准备踏入和想要踏入工业自动化领域的人们却对这些含义感到困惑。所以在本中&#xff0c;我将系统地为你梳理OPC知识。OPC首字母缩写词代表什么&#xff1f;问一个OPC老手&#xff0c;他们或…

php导入json文件_[php]导入超大json文件

前言在之前的文章《做一个twitter的插件玩玩》中&#xff0c;我做了一个批量删除推文(转发推文)的工具&#xff0c;该工具能够删除前3200条推文&#xff0c;但因为总数太多(4.3万条)&#xff0c;api接口不支持获取所有的推文&#xff0c;所以我采用了下载的方式&#xff0c;直接…

linux怎样写java代码,linux 怎么写java

linux 怎么写java一、环境安装由于使用 yum 或者 apt-get 命令 安装 openjdk 可能存在类库不全&#xff0c;从而导致用户在安装后运行相关工具时可能报错的问题&#xff0c;所以此处我们推荐采用手动解压安装的方式来安装 JDK。具体步骤如下&#xff1a;1.下载 JDK进入Oracle官…

超级好用的一个php上传图片类(随机名_缩略图_加水印),超级好用的一个php上传图片类(随机名,缩略图,加水印)...

Upimages.class.php php上传类复制代码 代码如下:class UpImages {var $annexFolder "upload";//附件存放点&#xff0c;默认为&#xff1a;annexvar $smallFolder "small";//缩略图存放路径&#xff0c;注&#xff1a;必须是放在 $annexFolder下的子目录…

matlab读取data格式,ReadData3D 各种格式图像的读取,包括医学 效果很好 matlab 272万源代码下载- www.pudn.com...

文件名称: ReadData3D下载 收藏√ [5 4 3 2 1 ]开发工具: matlab文件大小: 51 KB上传时间: 2017-03-29下载次数: 0提 供 者: 李忠宽详细说明&#xff1a;各种格式图像的读取&#xff0c;包括医学图像的读取&#xff0c;效果很好-Various formats of image reading, inclu…

mysql vs2008,vs2008 使用mysql

近期转到研发岗&#xff0c;需要用到mysql、vs2008&#xff1b;之前由于没有做过&#xff0c;写下这篇文章记录下这周所学的东西&#xff01;先安装好相关软件安装时间比较久耐心等待......安装完毕之后打开vs&#xff0c;Tools -> opptions ->设置完毕之后&#xff0c;点…

matlab pretty什么用,matlab如何使输出结果更美观(symdisp函数——pretty函数升级版)...

EDA365欢迎您登录&#xff01;您需要 登录 才可以下载或查看&#xff0c;没有帐号&#xff1f;注册x& t7 n0 d: a# m0 O( y- Lmatlab中有些计算结果比较长&#xff0c;直接查看有些困难&#xff0c;下面介绍pretty和symdisp函数优化输出结果&#xff0c;使结果更为直观。- …

php 遮罩层,Jquery实现遮罩层的方法

本文实例讲述了Jquery实现遮罩层的方法。分享给大家供大家参考。具体如下&#xff1a;1、假设#main为页面body中的最外层Div标签2、背景被遮罩后&#xff0c;显示的弹出窗(默认是不显示的&#xff0c;所包含的CSS这里就不贴了)&#xff1a;xAttention!3、在script.js中定义遮罩…

nhinx php 调优,高流量站点NGINX与PHP-fpm配置优化

本文由LinuxProbe.Com团队成员岳国帅整理发布&#xff0c;原文来自&#xff1a;黑白。导读使用Nginx搭配PHP已有7年的经历&#xff0c;这份经历让我们学会如何为高流量站点优化NGINX和PHP-fpm配置。以下正是这方面的一些提示和建议&#xff1a;1. 将TCP切换为UNIX域套接字1. 将…

php rinit,PHP执行原理

一&#xff1a;PHP简介&#xff1a;PHP&#xff1a;Hypertext Preprocessor 也就是“超文本预处理器”&#xff0c;是一种通用的开源脚本语言。语法吸收了C语言&#xff0c;Java和Perl的特点&#xff0c;使用广泛&#xff0c;主要适用于Web开发领域。二&#xff1a;PHP的设计理…

linux 查看握手时间,实战:tcpdump抓包分析三次握手四次挥手

本文档以实战的形式介绍tcpdump抓包分析三次握手四次挥手的过程。执行tcpdump命令tcpdump -n -i ens32 host 192.168.10.10 and 42.186.113.26 >> /tmp/tcpdump.txtping game.campus.163.comcurl http://game.campus.163.comcurl http://game.campus.163.com结束后&#…

linux 高级i o函数,高级I/O函数

对于socket&#xff0c;最基本的输入输出函数就是&#xff0c;read和write。它们最基本&#xff0c;同样功能也是最少的。Unix中有几个函数是read/write的变种&#xff0c;在基本的输入输出功能上&#xff0c;还增加了一些非常使用的功能和特性&#xff0c;它们是&#xff1a;r…

安装linux必不可少的一个分区,安装linux系统对硬盘分区时,必须有的两种分区类型是什么?...

安装Linux系统对硬盘分区时&#xff0c;必须有两种分区类型&#xff1a; 根分区和交换分区。根分区就是root分区&#xff0c;所有的东西都在这个分区内。 /swap分区是交换分区&#xff0c;是一定磁盘空间(分区或文件)&#xff0c;用于将部分内存中的数据换下来&#xff0c;以腾…

ubuntu和linux服务器,Linux服务器系统CentOS和Ubuntu Server如何选择? | 偶乃秋辰

在秋辰看来&#xff0c;目前最优秀的服务器系统就是Linux&#xff0c;但是Linux并不能说是一套完整的操作系统&#xff0c;准确的说它只是系统的内核&#xff0c;否则也不会有那么多的发行版如&#xff1a;Red Hat、CentOS、Debian、Ubuntu、Fedora等。其实Linux发行版系统很多…

linux 黑屏后死机,如何修复各种各样的黑屏死机

每次我们打开这些设备&#xff0c;我们都希望我们生活中的科技能发挥作用。当他们不能工作时&#xff0c;会让我们非常沮丧&#xff0c;尤其是当我们不知道如何解决问题时。所谓的“死亡黑屏”在操作系统之间很常见&#xff0c;当您打开机器&#xff0c;但屏幕空白。有时监视器…

cmd文件 c语言的段,对于TMS320F2812的CMD文件的理解

1.COFF格式要谈CMD文件&#xff0c;首先不可避免的要谈下COFF格式&#xff0c;COFF格式是通用目标文件格式(Common Object FileFormat)的缩写&#xff0c;它是一种流行的二进制可执行文件格式&#xff0c;在DSP里二进制可执行文件包括库文件(.lib)、目标文件(.obj)和最终可执行…

android点击事件的优先级,Android事件体系全面总结+实践分析,系列篇

前言在这一个月里&#xff0c;我利用闲余的时间看了下最近Android职业发展这块该怎么选择&#xff1f;这个问题各位大神的回答都非常透彻&#xff0c;相信对大家或多或少都在一定程度上有很大的帮助&#xff0c;今天在这里写这篇文章更多的是想以我开发十年的工作经历&#xff…

android各组件翻译,Android App框架指南(译文)

该系列文章是对Android推出的架构组件相关文章&#xff0c;按作者自己理解来翻译的&#xff0c;同时标记有作者自己一些简单笔记。如果读者发现文中有翻译不准确的地方&#xff0c;或者理解错误的地方&#xff0c;请不吝指教。源自Android官方Guide to app architecturel princ…

鸿蒙手机是个噱头,华为鸿蒙不是谈判噱头 必要时会应用手机当中!

7月30日&#xff0c;华为2019年上半年财报发布会上&#xff0c;华为董事长梁华在接受媒体采访时回应称&#xff0c;“鸿蒙”系统不是用来应对与美国谈判的噱头。今年5月&#xff0c;美国商务部将华为列入“实体清单”后不久&#xff0c;华为一系列“备胎”方案开始浮出水面&…