什么是闭包?
使用{}包起来的代码块就是闭包 println {}输出结果为: xx.com.xx.ClosureDemo
runclosure1@102d1符合格式:类
匿名内部类@hash code
闭包就是一个匿名内部类的对象。
也可以创建一个有名字的闭包: def closure = { println ‘Hello World’ } print myClosure xx.com.xx.ClosureDemo$_run_closure2@1c2d1
闭包定义好之后,不会立即执行,而会在闭包被调用的时候才会执行。
调用闭包的方式,与方法调用类似。
闭包()
结论:闭包就是一个可执行的代码块。
参数化的闭包
def myClosure = { println ‘Hello ${it}’ } myClosure.call(‘World’) myClosure(‘World’) myClosure ‘World’//这里将会输出三个 Hello World
it是闭包的单个隐含参数