Java 回调函数的理解
以下是我对java回调函数的理解,希望对各位有帮助。
简而言之,假设有两个类A与B,还有一个回调接口C(有一个c方法)。其中A类持有一个B类对象作为属性和拥有一个a方法,并实现了接口C,所以A类中就有a、c两个方法。B类中就仅有b方法。当外部程序调用A对象中的方法a时,a就会调用B类对象的b方法,b方法最后又调回A类中的c方法,此过程就是一个回调。
上面的解析有点抽象,下面我就用例子演示一下。
首先定义一个接口(即上面解析中的C角色):
Java代码
package com.peng.callback;
public interface OnEndPlay {
public void endPlay(String program);//c方法
}
然后定义一个MediaPlayerService(即A角色)对象实现OnEndPlay(C角色):
Java代码
package com.peng.callback;
public class MediaPlayerService implements OnEndPlay{
private MediaPlayer player=new MediaPlayer();
public void doPlay(String program)//a方法
{
player.play(this,program);
}
@Override
public void endPlay(String program) //c方法
{
System.out.println(program+":节目播放结束!");
}
}
在定义一个MediaPlayer (B角色):
Java代码 收藏代码
package com.peng.callback;
public class MediaPlayer {
public void play(OnEndPlay callback,String program)//b方法
{
int count=0;
while (count<10)
{
System.out.println(program+":正在播放。。。。");
count++;
try
{
Thread.sleep(1000);
} catch (InterruptedException e)
{
e.printStackTrace();
}
}
callback.endPlay(program);
}
}
最后用一个测视类测试:
Java代码
package com.peng.callback;
public class Test {
public static void main(String[] args)
{
final MediaPlayerService playService=new MediaPlayerService();
final String program="湖南卫视";
new Thread(new Runnable() {
@Override
public void run()
{
playService.doPlay(program);
}
}).start();
}
}
运行结果为:
湖南卫视:正在播放。。。。
湖南卫视:正在播放。。。。
湖南卫视:正在播放。。。。
湖南卫视:正在播放。。。。
湖南卫视:正在播放。。。。
湖南卫视:正在播放。。。。
湖南卫视:正在播放。。。。
湖南卫视:正在播放。。。。
湖南卫视:正在播放。。。。
湖南卫视:正在播放。。。。
湖南卫视:节目播放结束!
疯狂软件学习中心是一所Java人才的专业机构,它最核心的价值在于能让应届大学毕业生与企业无缝对接,课程设计与企业需求高度结合,使其在进入企业后能立即上手。
学真正Java技术,当然选疯狂软件Java培训机构,打造国内高级Java人才
疯狂软件Java培训优势
1. Java是世界第一大编程语言,市场占有率达20%。
2.广州最专业Java培训机构,多年教学经验。
3.学员技术牛就业率最好,就业薪资都在5000以上。
4.部分老师还是Java技术系列书籍的作者,由这样的Java书籍原创作者讲课可想而知课程条理清晰、讲解清楚,知识面广、深度足够!
5.疯狂软件Java培训课程以项目实战带动教学,上课打破传统课堂模式,以实训项目贯穿教学,带领学生一起做企业真实项目。
疯狂Java培训专注软件开发培训,提升学员就业能力,重点提升实践动手能力。
转载于:https://www.cnblogs.com/gojava/p/3559136.html
Java 回调函数的理解相关推荐
- Java回调函数的理解
所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数.例如Win32下的窗口过程函数就是一个典型的回调函数.一般说来,C ...
- Java回调函数理解和应用
#Java回调函数理解和应用 所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法,这样子说你是不是有点晕晕的. 在未理解之前,我也是一脸懵逼,等我理 ...
- Java 回调函数详解及使用
Java 回调函数详解 前言: C语言中回调函数解释: 回调函数(Callback Function)是怎样一种函数呢? 函数是用来被调用的,我们调用函数的方法有两种: 直接调用:在函数A的函数体里通 ...
- java回调函数的生命_Java车票,车站,生命周期,龟兔赛跑,同步锁,礼让,守护线程,挖金矿【诗书画唱】...
个人理解:加同步锁等的时候,就可以让线程"按顺序排队",一个一个地抢CPU,一个抢完对应的每次有的CPU了,另一个才抢对应的每次有的CPU,解决"并发"问题等. ...
- js回调函数的理解(轉)
js回调函数(callback)理解Mark!讲之前说一句function say(){alert(,,,,,,,,)}var say=function (){alert(,,,,,,,)}var s ...
- [实战]java回调函数
下面使用java回调函数来实现一个测试函数运行时间的工具类: 如果我们要测试一个类的方法的执行时间,通常我们会这样做: java 代码 public class TestObject { /** ...
- java反射回调函数_用J2V8注册Java回调函数
J2V8是一套针对谷歌的V8 JavaScript引擎的Java绑定.J2V8的开发为Android平台带来了高效的Javascript的执行环境,taris.js 就是基于J2V8开发的.J2V8同 ...
- 回调函数举例ajax,通过回调函数的理解来进一步理解ajax及其注意的用法
一,再一次理解回调函数 (function($){ $.fn.shadow = function(opts){ //定义的默认的参数 var defaults = { copies: 5, opaci ...
- Java 回调函数(传统方法和lambda方法)-一个例子秒懂
原文地址为: Java 回调函数(传统方法和lambda方法)-一个例子秒懂 背景: 想写一个工具类 Tool.java ,其中方法 public void readOneLine() 负责一行一行地 ...
最新文章
- 某高校教授要求:博士生发表论文,必须把他列为第一作者
- 数据结构源码笔记(C语言):二叉平衡树的相关操作算法
- 使用var,Lombok和Fluxtion轻松处理事件
- Java 8 Friday:Java 8将彻底改变数据库访问
- 权限验证框架Shiro
- 愿你的指下有代码,眼里有星辰
- python鼠标移动事件_给turtle屏幕增加鼠标移动事件核心代码
- 3.live555源码分析----延时队列
- 苹果也开始打价格战了
- 北京君正:君子爱财,取之补助
- python语法(二)——截取字符串的方法详解
- 前端会有什么新的变化
- Specification使用
- 五大免费采集器哪个好,火车头,海纳,ET,三人行,狂人采集
- ArcGIS 10安装方法(对比流行的2种安装方法)||迅雷电驴下载地址
- “辶”“廴”偏旁的字五笔拆字
- windows中truffle unbox react失败总结
- LintCode 644. 镜像数字 JavaScript算法
- 限免|iOS长截图工具 滚动截屏
- maven 排除配置文件打包_maven 打包排除配置文件