您的位置:首页 > 其它

一直搞不懂回调函数 今天终于明白了

2016-07-18 14:41 92 查看
一、接口回调的简单引入:

我们先来看一个简单的接口回调的例子:

新建一个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

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: