一直搞不懂回调函数 今天终于明白了
2016-07-18 14:41
92 查看
一、接口回调的简单引入:
我们先来看一个简单的接口回调的例子:
新建一个Java工程,然后新建一个包。然后新建一个A.java文件:
A.java代码如下:
第21至23行就是回调方法。
新建B.java,代码如下:
最后程序运行的结果如下:
关于接口回调,有一个博客,不过现在还不能完全理解,附上链接:
一个经典例子让你彻彻底底理解java回调机制:http://blog.csdn.net/xiaanming/article/details/8703708
我们先来看一个简单的接口回调的例子:
新建一个Java工程,然后新建一个包。然后新建一个A.java文件:
A.java代码如下:
package com.cn.callback; public class A { public A() { } //下载图片的操作 public void loadImage(String image_path,final CallBack callBack) { new Thread(new Runnable(){ public void run() { // TODO Auto-generated method stub String msg = "Hello world"; callBack.getResult(msg); } }).start(); } //接口回调我觉得很好理解,那就是:if you call me, i will call you back. public interface CallBack { public void getResult(String result); } }
第21至23行就是回调方法。
新建B.java,代码如下:
package com.cn.callback; import com.cn.callback.A.CallBack; public class B { public B(){ } public static void main(String args[]) { A a = new A(); a.loadImage("http://www.baidu.com/a.gif", new CallBack() { public void getResult(String result) { // TODO Auto-generated method stub System.out.println(result); } }); } }
最后程序运行的结果如下:
关于接口回调,有一个博客,不过现在还不能完全理解,附上链接:
一个经典例子让你彻彻底底理解java回调机制:http://blog.csdn.net/xiaanming/article/details/8703708