闭包扫盲

来源:http://martinfowler.com/bliki/Closure.html

闭包本质上是一个可以作为函数调用的参数的代码块。

闭包与C语言的指针、Java的匿名内部类的区别有两点:
1、形式上的区别,闭包可以引用它们定义时可见的变量。Java内部类可以只能引用常量,闭包可以引用一些可见的局部变量。
闭包的关键是:它是个代码块加上对它来自的环境的绑定。

2、简单清晰的使用方法。Java匿名类没有广泛使用的一个原因就是使用复杂,简洁的用法会促进使用。

你可能感兴趣的:(闭包)