java中什么回调函数?在JAVA里 什么是回调函数啊.
大家好,关于java中什么回调函数很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于在JAVA里 什么是回调函数啊.的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
java里面,c里面都有回调函数,回调函数都是什么东西啊
嗯,的确都有回调函数,但是C与java中的回调实现的方法不太一样
C中的回调函数,是由指针实现的,将某个函数方法的地址赋给某个指针变量,然后直接由这个变量去调用方法。可以通过一个指针实现不同方法的调用。
java中,没有指针这一概念。所以回调函数的意义似乎也不太一样,感觉跟C比起来更像是团队开发的一种手段和方法。java中的回调是通过接口实现的,调用函数不用知道被调用的函数是如何实现的,只需要写好一个被调函数的接口声明,然后根据接口调用。至于被调用函数,只需要重载接口方法就可以让调用函数去调用...说白了就是,一个人只负责去写大的程序流程,细节的方法部分不需要写,只要留好接口声明,然后让别的人去写这个接口的重载就可以了。更适合于团队开发以及程序更新优化。
好吧我快给我自己说晕了
给你两个例子去看下,这俩写的还都比较清楚
java的:http://blog.csdn.net/allen_zhao_2012/article/details/8056665
C的:http://www.cnblogs.com/chenyuming507950417/archive/2012/01/02/2310114.html
在JAVA里 什么是回调函数啊.
所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。
SAX的我不会写,只会用DOM4J写解析xml文档的例子
如下:
SAXReader sax= new SAXReader();
String file= this.getServletContext().getRealPath("/xml/news.xml");//获得xml文档的路径
Document doc= sax.read(file);
//获得根元素坐标
Element root= doc.getRootElement();
String value="";
List nodes= root.selectNodes("//new");
//得到元素个数
int size= nodes.size();
//定位到最后一个元素
Element el=(Element) nodes.get(size- 1);
//得到该元素所有属性集合
Iterator it= el.attributeIterator();
//循环遍历
while(it.hasNext()){
//将集合中包含的元素转换为Attribute类型
Attribute att=(Attribute) it.next();
//取出里面的数值
value= att.getValue();
}
这样所有的值就能都取出来了
不过要导入这几个包包
org.dom4j.*
org.dom4j.io.*
java.util.*
java.io.*
Java中什么是接口回调
可以把使用某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法。
实际上,当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法,这一过程称为对象功能的接口回调。
Java语言特点
Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。
例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。
java中怎样定义回调函数
程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序。程序员B要让a调用自己的程序b中的一个方法,于是,他通过a中的接口回调自己b中的方法。目的达到。在C/C++中,要用回调函数,被掉函数需要告诉调用者自己的指针地址,但在JAVA中没有指针,怎么办?我们可以通过接口(interface)来实现定义回调函数。
假设我是程序员A,以下是我的程序a:
[java] view plaincopyprint?
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里 什么是回调函数啊.问题对您有所帮助,还望关注下本站哦!