闭包 (英文:Closure) 这个词听说过,但是似乎并不是很理解含义。
之前写 lambda 表达式,内部的变量直接使用外部过来的,反正跟着官方教程来写,似乎这样使用很直观,不需要像定义函数那样还要传参,什么实参、形参,parameter, argument。
原来这里使用的就是闭包。封闭作用域。闭包是函数的"背包",里面装着创建时的环境。即使当前方法执行完毕,只要方法中变量传递到了闭包,这个就没啥关系。
闭包是指一个函数可以访问其外部作用域的变量,即使外部函数已经执行完毕。

注意这里变量必须是 final/effectively final:确保闭包捕获的是"快照"而不是"引用"。
