`
layznet
  • 浏览: 226412 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

(转摘)java的回调方法

阅读更多
原文地址:http://hi.baidu.com/kadise/blog/item/727a9cf3e0ad0714b07ec59a.html


1。首先回调方法的概念与“构造方法”的概念是不一样的,它不是指java中某个具有特殊意义或用途的方法。
2。称它为方法的“回调”更恰当一些,它是指方法的一种调用方式。任何一个被“回调”的方法,皆可称之为“回调方法”
3。方法的回调通常发生在“java接口”和“抽象类”的使用过程中。
假设 有接口名为 Ainterface 其中有方法名为 test()
有类 Myclass 实现了该接口,也就是一定实现了 test()这个方 法
现在有另一个类 OtherClass 它有个方法 callback(Ainterface ai),并且callback方法调用了 ai的test()方法
如果现在,我们使用一个 Myclass 的实例 myClass,将它作为参数带入到callback(Ainterface ai)方法中,我们就说 callback方法回调了myClass的test()方法。

不知道这样解释清不清楚。实际上回调是OO中的一个“精华”概念,它将java的抽象,继承等编程理念发挥到了及至。建议参考阎宏博士的《java与模式》一书


JAVA的CALLBACK通过接口来实现。 
   例: 
   1.class A,class B 
   2.class A实现接口Operate 
   3.class B拥有一个参数为operate接口类型的函数test(Operate   o) 
   4.class A运行时调用class B中test函数,以自身传入参数 
   5.class B已取得A,就可以随时回调A所实现的operate接口中的方法

====转载结束===
接口IMusic.java
public interface IMusic {
	public void say();
}

实现类ClassicMusic.java
public class ClassicMusic implements IMusic{
	
	public void say() {
		System.out.println("I am classic music");	
	}
	
	public static void main(String[] args) {
		MusicPlayer player = new MusicPlayer();
		player.play(new ClassicMusic());
	}
}


MusicPlayer.java
public class MusicPlayer {
	public void play(IMusic music){
		music.say();
	}
}
分享到:
评论

相关推荐

    精通java必须看的经典书籍

    1. AJAX介绍 AJAX是一种运用JavaScript和可扩展标记语言(XML),在网络浏览器和服务器之间传送或接受数据的技术。 2. AJAX实例 AJAX可以用来创建更多交互式...原文版权归作者所有,如有转摘请注明原作者以及编辑者信息

    Eclipse中用SWT和JFace开发入门-转摘 .doc

    SWT是Java的一个本地化GUI库,它直接与操作系统交互,提供与本机应用程序相似的外观、行为和性能。与Java Swing不同,SWT不试图消除跨平台的差异,而是充分利用每个操作系统的特点。 SWT的基础组件包括Widget、...

    完全平方公式变形的应用练习题_2(转摘).doc

    完全平方公式变形的应用练习题_2(转摘).doc

    新零售时代,小卖家如何迅速做出销量(转摘)-知识杂货店.doc

    新零售时代,小卖家如何迅速做出销量(转摘)-知识杂货店.doc

    网上转摘的华为笔试题目及答案

    - **MFCC**:MFCC(Mel Frequency Cepstral Coefficients)是一种在语音识别领域广泛使用的特征提取方法。它通过将声音信号转换为一系列反映人耳感知特性的系数,使得计算机能够更有效地理解和识别语音。 - **C++...

    计算机科学中最重要的32个算法——转摘.docx

    21. 牛顿法(Newton's method):求解非线性方程的迭代方法,通常收敛速度快,但需要函数的导数信息。 22. Q-learning 学习算法:强化学习中的一种,通过学习动作值函数来选择最佳行动,适用于环境模型未知的情况。...

    公司控制权之争及公司股权设计模式转摘.doc

    ### 公司控制权之争及公司股权设计模式 #### 一、公司控制权的重要性 公司控制权是指在公司治理结构中能够对公司的经营决策产生重大影响的能力。它不仅关系到公司的战略方向和发展前景,还直接影响到公司创始人的...

    新零售时代,小卖家如何迅速做出销量(转摘).zip

    在新零售时代,小卖家面临着前所未有的机遇与挑战。新零售,顾名思义,是将线上与线下销售模式深度融合,利用大数据、云计算等技术提升零售效率和消费者体验的新业态。对于小卖家来说,要想在这个竞争激烈的市场中...

    新零售时代,小卖家如何迅速做出销量(转摘).doc

    在新零售时代,小卖家面临的是一个充满挑战与机遇的市场环境。阿里巴巴定义的新零售四大趋势——消费即娱乐、交易全球一体化、线上线下全渠道融合、大数据构建个性化消费场景,揭示了现代商业的核心变化。...

    word源码java-csdn-blogs:这是一个存储我的csdn博客的存储库

    此外,描述中提到了“原创博客仓库”,这意味着这是一个博主维护的项目,包含他们自己的创作,而不是转摘或翻译他人的作品。博主强调了对转载的规范要求,即注明作者和出处,这是对知识产权的尊重。 标签“系统开源...

    分享网站推广方法与策略..pdf

    7. **软文推广**:撰写有价值的行业文章或用户角度的内容,鼓励其他网站转摘,提升品牌知名度。 8. **口碑推广**:通过优质服务或创新活动,激发用户的口碑传播,如马云的“口碑营销”策略,让客户成为品牌的自然...

    front-end:front-end 前端相关文章

    前端收集shine 主要汇集一些工作内容相关的案例或学习工具 基础 (基础) ...CSS.escape和CSS.supports()静态方法 处理css特殊器字符和判断浏览器是否支持某个css特性 文章 ECMAScript2017新特性 E

    明仔中文网のAJAX教程一看就会(价值上千元的教程)免费提供.rar

    要想把请求发送到服务器,我们就需要使用 open() 方法和 send() 方法 5. AJAX实例 AJAX可以用来创建更多交互式的网络应用程序。 6. AJAX源代码 简要分析上一章节效果的代码原理 7. AJAX与数据库 AJAX可以用来...

    open cv 人脸检测

    关于人脸检测的open cv实现,期刊转摘

    大型数据库的设计原则与开发技巧

    本文为转摘!!!!!!!!!!

    TIG 自动焊接钛合金工艺

    转摘他人的钛合金焊接 工艺 非常有用 值得下台宝贵经验。

    Memcache2.8

    它的缓存是一种分布式的,也就是可以允许不同主机上的多个用户同时访问这个缓存系统, 这种方法不仅解决了共享内存只能是单机的弊端,同时也解决了数据库检索的压力,最大的优点是提高了访问获取数据的速度!...

    apycom出品的jQuery精美菜单破解方法

    此文版权所有: 大熊猫konakona 任何转摘必须申明此出处,否则找你算帐= =# 今天上网一只在找适合公司用的常规型的菜单。网址是:http://apycom.com/ 终于给我找着了= =#不过是加密的…… 好吧~马上开始解密~ 希望...

    EmEditor Professional 8.01.rar

    一款功能强大的文本编辑器!它启动速度快,可以完全代替Windows自带的记事本,足以胜任日常的文本编辑工作,而且良好地支持Unicode和中文字符,还...本文转摘自『金电下载网』http://www.jdxz.net/softinfo/24643.html

    Quest DataFactory v5.6 英文版

    DataFactory 是一种快度的,易于产生测试数据的带有直觉用户接口的工具,它能建模复杂数据关系。在当今快速的开发环境中,应用程序的测试总是处于...本文转摘自『金电下载网』http://www.jdxz.net/softinfo/12650.html

Global site tag (gtag.js) - Google Analytics