Java中的闭包(Closure)和回调

上网看了许多关于Java中的闭包(Closure)和回调的博文,总算是弄清晰了,再次写下自己的笔记

  1、闭包

定义:闭包允许你将一些行为封装,将它像一个对象一样传来递去,而且它依然能够访问 到原来第一次声明时的上下文。 

闭包允许我们创建函数指针,并把它们作为参数传递(在JAVA中,闭包是通过“接口+内部类”实现

2、回调:就是程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序。程序员B要让a调用自己的程序b中的一个方法,于是,他通过a中的接口回调自己b中的方法。

计算机程序设计中,回调函数,或简称回调,是指通过函数参数传递到其它代码的,某一块可执行代码引用。这一设计允许了底层代码调用在高层定义的子程序 但是在Java里面,无法传递方法指针,所以我们只能使用接口来实现回调。

3、为什么需要闭包。
  闭包的价值在于可以作为函数对象或者匿名函数,持有上下文数据,作为第一级对象进行传
递和保存。闭包广泛用于回调函数、函数式编程中。

ps:

个人理解:定义一个接口,匿名内部类实现该接口(该函数方法(就为回调函数)),然后set进一个类留有接口的调用类里面,该类调用的实际上是匿名内部类的方法。(实际上就是将一个代码块/函数以参数的形式传递)

个人顺序参考

1、http://www.cnblogs.com/chenjunbiao/archive/2011/01/26/1944417.html

2、http://blog.sina.com.cn/s/blog_8d2da7430100xjk5.html

3、http://blog.csdn.net/longyulu/article/details/35236041

4、http://www.cnblogs.com/heshuchao/p/5376298.html    很形象生动的讲述!~



  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值