您的位置:首页 > 编程语言 > Java开发

java之回调

2017-01-09 17:17 363 查看

回调(callback)总结

之前做项目的时候用过回调,当时用的时候还算了解了,然而做完项目之后,过了一段时间,在想到回调,突然发现只记得我用过回调,但是具体的概念和方法却忘得差不多了,今天就再次回顾了回调的用法。

1.概念

在我的理解里,回调就是当你调用一个方法时,把你本身的实例也当做参数传给此方法,当此方法执行完时,就会使用你传进去的实例来调用你自己创建的回调方法,回调方法就是用来通知你此方法已经执行完毕。

2.实现

回调接口

public interface Callback {

void onResult(boolean isSave);
}


被调用方法

public class FileIO {

public void saveToFile(String filename,String content,Callback c){
new Thread(new Runnable() {

@Override
public void run() {
System.out.println(filename+content);
c.onResult(true);
}
}).start();
}
}


调用者

public class XiaoLin implements Callback{

public void saveStr(){
String filename = "callback.txt";
String content = "这是一个回调的例子";
FileIO f = new FileIO();
f.saveToFile(filename, content, this);
}

@Override
public void onResult(boolean isSave) {

System.out.println("isSave:"+isSave);
}

public static void main(String[] args) {
XiaoLin xiao = new XiaoLin();
xiao.saveStr();
}

}


3.总结

总之,实现回调方法,要有三个类:

1.一个回调接口,用来实现调用方法结束后需要做什么,即有一个方法用来实现功能(例:onResult);

2.一个被调用方法,此方法其中一个参数就是回调接口,方法功能执行完后,需要使用回调接口的实例调用回调方法;

3.一个调用者,此类需要实现回调接口,即implements。这样就可以自定义回调方法,编写当你调用被调用方法结束后,需要做什么。当调用被调用方法时,需要把自己的类的实例传进去。

最后,分享一篇关于回调的文章

Java帝国之拨云见日识回调

全文一蹴而就并没有更多时间来修改,可能隐藏着诸多错误,行文也可能不甚通顺,还请各位指正和海涵。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  callback 回调 java