日期:2014-05-20  浏览次数:20751 次

java 回调(参与都给分,只希望解决心中疑问)
在看回调,看了一天了,还是没整明白什么时候会用到回调啊,看的云里雾里的,有哪位说点简单,通俗易懂的啊,参与就有分哪的,说到做到,谢谢各位的参与。

------解决方案--------------------
可以这样理解,假如你在工作中的任务是:别人给你100钱,然后你自己留下50块,剩下50块全部退回去,那么给你钱的人你却不知道,那怎么办呢,还好,他留下一个箱子,这个箱子里有什么你不知道,你只要把钱扔进这个箱子里就可以了。
在上面这个例子中如何体现回调呢,回调的过程就是把钱扔这个箱子里,但是,箱子里如何处理你不知道,因为这个箱子不是你的。


在程序里,回调的意思就是,用户给调用你这个接口,然后留下一个函数(或者对象的方法)的地址,你做完用户给你的任务后,你还要执行一下这个函数,如何执行呢,就是通过用户给你的地址。
这种方式的特点是:这个函数到底做了什么,你不用管,这个函数是谁的、谁构造、谁维护你都不用管。回调可以用在消息机制里,比如你执行完一个操作,你可以通过回调函数告诉给你任务的人,我做完了。
------解决方案--------------------
学习了。
------解决方案--------------------
学习了
------解决方案--------------------
支持下
------解决方案--------------------
http://blog.sina.com.cn/s/blog_48cf38890100go6x.html
------解决方案--------------------
监听者模式。B发起一个调用给了A(执行某个方法)。当A结束的时候,B需要A通知一下来继续做剩下的事情。那么这时候就需要一个回调。这个回调是B的方法,并传递给A。
------解决方案--------------------
详细的你到网上搜索一下监听者模式。类似一种事件的通知机制。这是一个比较好的处理回调问题的模式。
------解决方案--------------------
一楼 受教学习了
------解决方案--------------------
java.util.Observer

------解决方案--------------------
我今天第一次听说Java的回调机制,学习一下!
------解决方案--------------------
java回调: 

 1.class A,class B ,interface operate
2.class A实现接口operate
3.class B拥有一个参数为operate接口类型的函数test(operate o)
4.class A运行时调用class B中test函数,以自身传入参数
5.class B已取得A,就可以随时回调A所实现的operate接口中的方法
------解决方案--------------------
都忘记得差不多了.
------解决方案--------------------
回调方法是一个接口。假设监听者为A。java一般实现这种方式的时候使用了内部类,在实现这个接口是调用了B的方法。这样就形成了虽然方法是在B类中定义的,却是由A来触发的这种效果。即使回调以后需要更换或者增加新的监听也会很方便。
------解决方案--------------------
探讨
监听者模式。B发起一个调用给了A(执行某个方法)。当A结束的时候,B需要A通知一下来继续做剩下的事情。那么这时候就需要一个回调。这个回调是B的方法,并传递给A。

------解决方案--------------------
探讨

还有,接口在这个机制当中,到底扮演了个什么样的较色呢?


------解决方案--------------------
探讨

引用:

还有,接口在这个机制当中,到底扮演了个什么样的较色呢?


接口扮演的角色就是 制定规范。。就比如说 小明在 打游戏。。他让自己的弟弟小红给他放哨。。说如果爸爸回来了就对着敲三下门。。这时候他的姐姐在看电视 他也对小红说如果爸爸回来了 敲4下门。。这时候爸爸会来了,这时候他不知道应该是敲三下门还是敲4下门。。那么必然会有一个人被发现。。……

------解决方案--------------------
学习一下,也没整明白。
------解决方案--------------------
java 里面没有回调这一说吧,回调是动态语言中的东西。
------解决方案--------------------
所谓回调,就是事先把某个方法寄存在某个地方,当某个地方满足某个条件时,就调用事先寄存的方法
打个比方,你去饭馆吃饭钱包丢了,这时你到前台跟服务员说,如果有人捡到你的钱包交到前台的话,就让服务员通知你一声,过了一会,有人捡到钱包交到前台了,服务员就到你的位置告诉你。这个过程就是回调的过程。你事先在前台寄存了[让服务员通知你]这样的一个方法,该方法必须满足[有人捡到钱包交到了前台],在这个过程中,服务员扮演着监听的角色,当ta收到[有人捡到钱包交到了前台]这样的事件时,ta就调用你事先寄存的[让服务员通知你]这个方法。

------解决方案--------------------
据我理解应该是方法一中提供了一个接口,并且在该方法中调用该接口中的方法,而方法二又实现了该接口中的方法,所以程序从方法一的执行突然转到方法二中执行,等到方法二执行完成后再又回道方法一中继续执行方法一剩下的流程,相当于本来程序是顺序执行的,可是中途绕了个弯,后来又绕回来了