java之回调

回调(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帝国之拨云见日识回调

全文一蹴而就并没有更多时间来修改,可能隐藏着诸多错误,行文也可能不甚通顺,还请各位指正和海涵。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值