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,一经查实,立即删除!

相关文章

oracle 数据抽取 java_oracle数据抽取步骤

oracle数据抽取步骤Database links:1、 在本地计算机上&#xff0c;新建一个连接远程数据库的连接&#xff0c;并记住这个连接的服务名(例如&#xff1a;jzfx_remote)&#xff1b;2、 返回远程数据库的GLOBAL_NAME&#xff1a;执行&#xff1a;SELECT * FROM GLOBA…

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

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

java修改原有txt文件_(转)Java创建txt文件并进行读、写、修改操作

Creation date: 2007-12-18 - 下午06:48:45 */ public class ReadWriteFile { public static BufferedReader bufread; //指定文件路径和名称 private static String path "D:/suncity.txt"; private static File filename new File(path); private static String …

java暂停另一个线程_如何从另一个线程终止或暂停Rust线程?

对于终止和挂起线程&#xff0c;您可以使用通道 .外部终止在工作循环的每次迭代中&#xff0c;我们检查是否有人通过渠道通知我们 . 如果是&#xff0c;或者如果通道的另一端超出范围&#xff0c;我们就会打破循环 .use std::io::{self, BufRead};use std::sync::mpsc::{self, …

java 7 jboss_JBoss7 入门指南

1、下载地址&#xff1a; http://www.jboss.org/jbossas/downloads &#xff0c;下载Certified Java EE 6 Full Profile版本。2、解压 jboss-as-7.1.1.Final.zip 到 D:\programs。3、设置环境变量如下&#xff1a;系统变量->新建->变量名&#xff1a;JAVA_HOME C:\Java以…

java实现bloom filter_Java BloomFilter.add方法代码示例

import org.apache.hadoop.util.bloom.BloomFilter; //导入方法依赖的package包/类Overridepublic int run(String[] args) throws Exception {if (args.length ! 4) {System.err.println("Usage: Trainer ");return 1;}// Parse command line argumentsPath inputFi…

java系统项目分为哪五大层次?控制层_业务_一个项目中说系统分为表现层、控制层、逻辑层、DAO层和最终数据库五层架构-转...

表现层就是看到的东西&#xff0c;比如你现在看到的当前页面控制层就将你的请求从页面传到后台代码逻辑层就是处理你的请求的代码DAO层就是将数据存到数据库中的代码数据库就是数据库了&#xff0c;存东西用的&#xff0c;DAO层就是将访问数据库的代码&#xff0c;数据库层是数…

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

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

java怎么将程序保存在桌面_在Java桌面应用程序中保留数据的最佳方法是什么?...

我的桌面应用程序中有一大堆Java对象,我试图决定将文件作为文件系统的最佳方式.我曾经有过一些想法&#xff1a;>使用DataOutputStream滚动我自己的串行器&#xff1a;这将给我最大的控制文件中的内容,但是以微量管理为代价.>使用ObjectOutputStream及其各种相关类的直接…

JAVA实现inotify一样的功能_WPF实现INotifyPropertyChanged

我已经设置了一个属性并实现了INotifyPropertyChanged像这样......public event PropertyChangedEventHandler PropertyChanged;public FlowProcess LastSelectedFlowProcess{get { return _lastSelectedFlowProcess; }set{_lastSelectedFlowProcess value;Notify("LastS…

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

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

php 生成dbf,php 读取vfp 8.0,9.0所产生的dbf文件

VFP 9.0 PHP odbc求大神指导。。。由VFP8.0以上制造的DBF文件&#xff0c;自带的Tabel Type> autoinc field 或者Blob field&#xff0c;想通过PHP读取&#xff0c;不行吗&#xff1f;代码很简单如下》$add’c://BatMan//Daten//ladert2.DBF’;$e”Driver{Microsoft Visual …

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

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

java登陆密码验证失败,java用户名密码验证示例代码分享

类:NameII 权限:public方法:main 权限:public参数:name,password,denglu,i;参数介绍:name&#xff0c;数据类型 String &#xff0c;用来存储一个从 input 中获取的值&#xff0c;在本程序当中用作用户名的存放&#xff1b;password&#xff0c;数据类型 String &#xf…

php 五角星,php使用GD库画五角星_PHP教程

01 $width 500;02 $height 500;0304 $im imagecreatetruecolor($width, $height);0506 $red imagecolorallocate($im, 230, 0, 0);07 imagefill($im, 0, 0, $red);0809 $yellow imagecolorallocate($im, 255, 255, 0);1011 //设定画出五角星的五个顶点形成的 正五边形的边…

java的配置文件后缀,Java - 敏感配置文件位置

0x00 前言项目中常遇到Java站点&#xff0c;像SSM、springboot这些框架开发的通常一些配置文件都在固定的位置&#xff0c;当然还有Tomcat容器的配置文件。0x01 记录1.properies配置文件这个文件的作用很重要&#xff0c;通常是一个JavaWeb项目中的配置文件&#xff0c;以.prop…

apmserv 5.2.6 升级php,APMServ5.2.6 升级PHP版本 到高版本 5.3,5.4

Thursday, December 12, 2013 1:59 AM 17173606 php-5.3.28-Win32-VC9-x86.zipranhou 然后解压&#xff0c;得到一个新的目录&#xff1a;把原来APMServ目录中的PHP目录中的&#xff1a;ext &#xff0c; extras 两个目录复制过来&#xff0c;遇到重复文件&#xff0c;不要覆盖…

php原生sql语句删除,PHP 的批量删除sql语句

PHP 的批量删除sql语句发布于 2014-10-07 22:57:44 | 92 次阅读 | 评论: 0 | 来源: 网友投递PHP开源脚本语言PHP(外文名: Hypertext Preprocessor&#xff0c;中文名&#xff1a;“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点&#xff0c;入门…

php 正则mac地址,正则表达式匹配MAC地址、邮箱地址、IP地址

(1)匹配MAC地址1)MAC地址由12个16进制的字母组成2)16个字母是 0~9、a~f 。不区分大小写&#xff0c;一般为大写3)每两个字母为一组&#xff0c;共六组&#xff0c;每组间用冒号:隔开匹配思路&#xff1a;00:0C:29:88:83:1A1)先匹配前两个字母&#xff1b;用元字符[] 匹配单个字…

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

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