什么是闭包?
使用{}包起来的代码块就是闭包
println {}输出结果为:
xx.com.xx.ClosureDemorunclosure1@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