MyException - 我的异常网
当前位置:我的异常网» J2SE » java 回调(参加都给分,只希望解决心中疑问)

java 回调(参加都给分,只希望解决心中疑问)(2)

www.MyException.Cn  网友分享于:2013-11-07  浏览:398次

------解决方案--------------------
java回调,没听过,只听过javascript里面有回调
------解决方案--------------------
回调,个人理解是:运用程序对某个事件感兴趣,于是给发出那个事件的事件源注册一个方法,告诉如果事件发生就调用那个方法。被调用的方法就是回调方法。在windows运用程序中,建立窗口时,注册在窗口函数中的消息处理函数,就是一个明显的回调函数。在java中,回调是通过接口或类继承来实现的。典型的像事件监听或网页解析,如:HTMLEditorKit.ParserCallback
------解决方案--------------------
回调接口
你的主管给你一个任务:要求你画一个按钮(JButton的子类)出来,而点击这个按钮要发生什么事,你不用关心,因为你的主管已经把点击后要发生的事情的逻辑写好了,并封装在一个CallBack接口的execute()方法中,你只需要调用这个方法就可以了.
那么你构造这个按钮的时候(在构造方法里),就需要获得这个CallBack接口的实现对象,从而可以在按钮的点击事件中(actionPerformed)执行这个方法.

CallBack接口定义
Java code

interface CallBack{
void execute();
}

------解决方案--------------------
个人感觉...回调就是你构建了一个方法,但是该方法的并没有显示调用就被执行..就是回调
而且感觉,在匿名类使用的时候尤其明显....
------解决方案--------------------
使用接口

也就是使用多态来实现回调函数

public interface ICallback {
public void func();
}

public class ClassWithCallbackFunction implements ICallback{
public ClassWithCallbackFunction() {
}
public void func(){
System.out.println("cccccccccccccccccc");
}
}

public class Caller {
ICallback callback;
public void doCallback() {
callback.func();
}

public void setCallback(ICallback callback) {
this.callback = callback;
}

}

public class MainClass {
public MainClass() {
}

public static void main(String[] args) {
Caller caller = new Caller();
caller.setCallback(new ClassWithCallbackFunction() {
public void func() {
System.out.println("aaaaaaaaaa");
}
});
caller.doCallback();
}
}
现实中是把doCallback()方法放在setCallback里调用,以上是为了说明回调原理
public class Caller {
ICallback callback;
public void doCallback() {
callback.func();
}

public void setCallback(ICallback callback) {
this.callback = callback;
doCallback();
}

}
------解决方案--------------------
好久没碰JAVA了,当初学JAVA,MVC结构的时候,那个死去活来啊~~~
------解决方案--------------------
探讨

使用接口

也就是使用多态来实现回调函数

public interface ICallback {
public void func();
}

public class ClassWithCallbackFunction implements ICallback{
public ClassWithCallbackFunct……

------解决方案--------------------
不一定是接口,也可能是抽象类,也可能是public的public或protected方法
------解决方案--------------------
我也忘得差不多了,支持下楼主!回调就是有点抽象,我刚学的时候很迷茫,不过用时候也不知道原理,只是知道它就是那样得到的,用时间研究下
------解决方案--------------------
探讨

所谓回调,就是事先把某个方法寄存在某个地方,当某个地方满足某个条件时,就调用事先寄存的方法
打个比方,你去饭馆吃饭钱包丢了,这时你到前台跟服务员说,如果有人捡到你的钱包交到前台的话,就让服务员通知你一声,过了一会,有人捡到钱包交到前台了,服务员就到你的位置告诉你。这个过程就是回调的过程。你事先在前台寄存了[让服务员通知你]这样的一个方法,该方法必须满足[有人捡到钱包交到了前台],在这个过程中,……

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

所谓回调,就是事先把某个方法寄存在某个地方,当某个地方满足某个条件时,就调用事先寄存的方法
打个比方,你去饭馆吃饭钱包丢了,这时你到前台跟服务员说,如果有人捡到你的钱包交到前台的话,就让服务员通知你一声,过了一会,有人捡到钱包交到前台了,服务员就到你的位置告诉你。这个过程就是回调的过程。你事先在前台寄存了[让服务员通知你]这样的一个方法,该方法必须满足[有人捡到钱包交到了前台],在这个过程中,……

------解决方案--------------------

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有