当前位置:首页 » 废水回用 » java回调方法有什么用

java回调方法有什么用

发布时间: 2020-12-17 21:47:46

㈠ 请问JAVA中接口中自动回调方法的原理是什么

那就是继承,你实现了一个接口就是这个接口的子类了,当然就可以调用了。回子类自动继承父类的答方法,但是接口的方法是抽象的你必须要实现,所有可以确保你实现这个接口就必须有这个接口的方法了。而且子类变父类是可以直接用的,所以就可以自动调用了。
最好的方式就是去看下源代码,你就完全明白这种机制了。然后自己可以写个小例子比如:监听Vector只要加入了新元素就发个消息的。

㈡ java中怎样定义回调函数

程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序。程序员B要让a调用自己的程序b中的一个方法,于是,他通过a中的接口回调自己b中的方法。目的达到。在C/C++中,要用回调函数,被掉函数需要告诉调用者自己的指针地址,但在JAVA中没有指针,怎么办?我们可以通过接口(interface)来实现定义回调函数。
假设我是程序员A,以下是我的程序a:
[java] view plainprint?
public class Caller
{
public MyCallInterface mc;

public void setCallfuc(MyCallInterface mc)
{
this.mc= mc;
}

public void call(){
this.mc.method();
}
}
还需要定义一个接口,以便程序员B根据我的定义编写程序实现接口。

public interface MyCallInterface
{
public void method();

}
于是,程序员B只需要实现这个接口就能达到回调的目的了:
public class B implements MyCallInterface
{
public void method()
{
System.out.println("回调");
}

public static void main(String args[])
{
Caller call = new Caller();
call.setCallfuc(new B());
call.call();
}
}

㈢ java 的回调函数是什么 讲的简单些

就是你妈妈在做饭,你在玩电脑。妈妈做饭是回调函数,饭做完了会通知你,随后你再执行关闭电脑方法去吃饭。没有回调函数的话,在妈妈做完饭以前,你不能做其他事,只能等。做完饭了,你结束等待,去吃饭

㈣ java的接口回调在什么情况下使用这样做有什么好处

你用了Spring就知道 平时一般我们会把常用的方法封装在接口里面 ,然后去实现这个接回口 重写里面的方法答, 接口回调 说白了 就是通过接口 来调用接口里面的方法 面向接口编程 接口.方法名,如果搂在学了Spring你就知道了 什么叫接口编程了 里面会大量使用 接口来调用方法,其实这个跟你讲 还不是特别好讲 这个就必须结合Spring框架来跟你讲了 估计你要晕 等你学了SPring 我相信你就明白了 希望我的回答对搂主有所帮助 欢迎继续提问 谢谢

㈤ Java中什么是接口回调

什么是接口回调?1.接口回调是什么[2]?接口回调是指:可以把使用某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法。实际上,当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法,这一过程称为对象功能的接口回调。看下面示例。interface People{ void peopleList();}class Student implements People{ public void peopleList(){ System.out.println("I’m a student.");}}class Teacher implements People{ public void peopleList(){ System.out.println("I’m a teacher.");}}public class Example{ public static void main(String args[]){ People a; //声明接口变量a=new Student(); //实例化,接口变量中存放对象的引用a.peopleList(); //接口回调a=new Teacher(); //实例化,接口变量中存放对象的引用a.peopleList(); //接口回调}}结果:I’m a student.I’m a teacher.再来看看向上转型(upcasting)的概念。 2.什么是向上转型[1]?Shape s=new Circle();这里,创建了一个Circle对象,并把得到的引用立即赋值给Shape。通过继承,Circle就是一种Shape。假设你调用基类方法(它已在导出类中被覆盖):s.draw();由于后期绑定(多态),将会正确调用Circle.draw()方法。 3.向上转型与接口回调的区别看似向上转型和接口回调是一回事。看下面两句话,均出自Thinking in Java。使用接口的核心原因:为了能够向上转型为多个基类型[1]。即利用接口的多实现,可向上转型为多个接口基类型(具体见《抽象与接口》章节6)。从实现了某接口的对象,得到对此接口的引用,与向上转型为这个对象的基类,实质上效果是一样的。(此句摘自Thinking in Java 3rd 接口与内部类一章)所以,我认为,这两个概念是从两个方面来解释一个行为。接口回调的概念,强调使用接口来实现回调对象方法使用权的功能(下一章节详细分析)。而向上转型则牵涉到多态和运行期绑定的范畴。 4.用 Java 接口实现回调函数的等价功能熟悉 MS-Windows 和 X Window System 事件驱动编程模型的开发人员,习惯于传递在某种事件发生时调用(即“回调”)的函数指针。Java 的面向对象模型目前并不支持方法指针,Java 的接口支持提供了一种获得回调的等价功能的机制。其技巧就是:定义一个简单接口,并在该接口中声明我们要调用的方法。假定我们希望在某个事件发生时得到通知。我们可以定义一个接口:InterestingEvent.javapackage org.zj.sample;public interface InterestingEvent { public void interestingEvent ();}这使得我们可以控制实现该接口的类的任何对象。因此,我们不必关心任何外部类型信息。发出事件信号的类必须等待实现了 InterestingEvent 接口的对象,并在适当时候调用 interestingEvent() 方法。EventNotifier.javapackage org.zj.sample;public class EventNotifier { private InterestingEvent ie; private boolean somethingHappened; public EventNotifier(InterestingEvent event) { ie = event; // 保存事件对象以备后用。 somethingHappened = false; // 还没有要报告的事件。 } public void doWork() { if (somethingHappened) { // 检查设置的谓词。 ie.interestingEvent();// 通过调用接口的这个方法发出事件信号。 } } public void setHappened(){//设置谓词。 somethingHappened=true; }}在上例中,使用 somethingHappened 谓词来跟踪是否应触发事件。希望接收事件通知的代码必须实现 InterestingEvent 接口,并将自身引用传递给事件通知程序。CallMe.javapackage org.zj.sample;public class CallMe implements InterestingEvent { @SuppressWarnings("unused") private EventNotifier en; public CallMe() { // 注意 EventNotifier (InterestingEvent event),应该传递一个接口类型。 // 而下面将this,即实现了InterestingEvent接口的CallMe实例传递给//EventNotifier。也就是所谓的接口回调了。 en = new EventNotifier(this); // 创建事件通知程序,并将自身引用传递给它。 } // 为事件定义实际的处理程序。

㈥ 在JAVA里 什么是回调函数啊.

C语言中回调函数解释:
回调函数(Callback Function)是怎样一种函数呢?
函数是用来被调用的,我们调用函数的方法有两种:
l 直接调用:在函数A的函数体里通过书写函数B的函数名来调用之,使内存中对应函数B的代码得以执行。这里,A称为“主叫函数”(Caller),B称为“被叫函数”(Callee)。
l 间接调用:在函数A的函数体里并不出现函数B的函数名,而是使用指向函数B的函数指针p来使内存中属于函数B的代码片断得以执行——听起来很酷,是吧。
比起直接调用来,间接调用的确麻烦,那为什么还要使用间接调用呢?原因很简单——直接调用把函数名都写进函数体了,经过编译器那么一编译,板上钉钉,A注定调用的是B了,这样的程序只能按照程序员事先设计好的流程执行下去,太呆板了。此时,间接调用的巨大灵活性就显现出来了。想一想,如果p是函数A的一个参数(参数是变量,是变量就可以变吗!),那么程序的最终用户完全可以通过操作来改变p的指向——这样,A在通过p调用函数的时候就有机会调用到不同的函数,这样程序的实用性和扩展性就强多了。
在WINDOWS中,程序员想让系统DLL调用自己编写的一个方法,于是利用DLL当中回调函数(CALLBACK)的接口来编写程序,使它调用,这个就称为回调。在调用接口时,需要严格的按照定义的参数和方法调用,并且需要处理函数的异步,否则会导致程序的崩溃。这样的解释似乎还是比较难懂,这里举个简单的例子,程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序。程序员B要让a调用自己的程序b中的一个方法,于是,他通过a中的接口回调自己b中的方法。目的达到。在C/C++中,要用回调函数,被掉函数需要告诉调用者自己的指针地址,但在JAVA中没有指针,怎么办?我们可以通过接口(interface)来实现定义回调函数。
正常情况下开发人员使用已经定义好的API,这个过程叫Call。但是有时这样不能满足需求,就需要程序员注册自己的程序,然后让事先定义好多API在合适的时候调用注册的方法,这叫CallBack。
“通常大家说的回调函数一般就是按照别人(李四)的定好的接口规范写,等待别人(张三)调用的函数,在C语言中,回调函数通常通过函数指针来传递;在Java中,通常就是编写另外一个类或类库的人(李四)规定一个接口,然后你(张三)来实现这个接口,然后把这个实现类的一个对象作为参数传给别人的程序,别人的程序必要时就会通过那个接口来调用你编写的函数。”

㈦ 请问java里的回调函数是什么意思

回调函数一般只是供系统调用的,程序员一般很少调用或者修改

㈧ JAVA里面方法回调是什么意思

所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(函数原型),然后由C提前通过S的一个函数R告诉S自己将要使用B函数,这个过程称为回调函数的注册,R称为注册函数。Web Service以及Java的RMI都用到回调机制,可以访问远程服务器程序。

下面举个通俗的例子:
某天,我打电话向你请教问题,当然是个难题,^_^,你一时想不出解决方法,我又不能拿着电话在那里傻等,于是我们约定:等你想出办法后打手机通知我,这样,我就挂掉电话办其它事情去了。过了XX分钟,我的手机响了,你兴高采烈的说问题已经搞定,应该如此这般处理。故事到此结束。这个例子说明了“异步+回调”的编程模式。其中,你后来打手机告诉我结果便是一个“回调”过程;我的手机号码必须在以前告诉你,这便是注册回调函数;我的手机号码应该有效并且手机能够接收到你的呼叫,这是回调函数必须符合接口规范。

通过上面个人感觉到回调更多的应用就是结合异步。比如:Ajax中js通过组件和服务器的异步通信。

㈨ Java 什么是回调

  1. 所谓回调,就是客户程序Client调用服务程序Service中的某个方法A,然后Service又在某个时候反内过来调用容Client中的某个方法B,对于Client来说,这个B便叫做回调函数

  2. 回调实现的步骤
    1、定义回调接口和回调方法
    2、Client实现回调接口和回调方法,并在Client中包含Service引用,通过引用调用Servie中的方法并且必须传入一个当前对象Client(因为当前对象实现了CallBack接口所以也属于接口对象)
    3、在Service中定义一个接口对象并在方法中对初始化(将Client传过来的当前对象赋值给接口对象),通过接口对象调用接口中方法(调用的Client实现的接口方法)
    4、测试

热点内容
丁度巴拉斯情人电影推荐 发布:2024-08-19 09:13:07 浏览:886
类似深水的露点电影 发布:2024-08-19 09:10:12 浏览:80
《消失的眼角膜》2电影 发布:2024-08-19 08:34:43 浏览:878
私人影院什么电影好看 发布:2024-08-19 08:33:32 浏览:593
干 B 发布:2024-08-19 08:30:21 浏览:910
夜晚看片网站 发布:2024-08-19 08:20:59 浏览:440
台湾男同电影《越界》 发布:2024-08-19 08:04:35 浏览:290
看电影选座位追女孩 发布:2024-08-19 07:54:42 浏览:975
日本a级爱情 发布:2024-08-19 07:30:38 浏览:832
生活中的玛丽类似电影 发布:2024-08-19 07:26:46 浏览:239