执行 Closure 变量 的 call() 方法 , 可以调用该闭包 ;
// 定义闭包变量
def closure = {
println "Hello Closure!"
}
// 调用闭包
closure.call()
执行上述代码 , 打印 Hello Closure!
;
直接 在 Closure 变量之后 , 写一个括号 , 也可以调用闭包 ;
// 定义闭包变量
def closure = {
println "Hello Closure!"
}
// 调用闭包
closure()
执行上述代码 , 打印 Hello Closure!
;
闭包 Closure 默认可以 接收一个默认参数 , 该参数变量名称是 it ,
在 closure() 调用时 , 传入一个参数 , 会自动赋值给闭包中的 it 变量 ;
// 定义闭包变量
def closure = {
println it
}
// 调用闭包 , 并传入一个默认参数
closure("Hello")
上述代码会打印 Hello
;
代码示例 :
class Test {
static void main(args) {
// 定义闭包变量
def closure = {
println "Hello Closure!"
}
// I. 打印闭包类型
// 打印闭包变量类型
println closure.getClass()
// II. 调用闭包
// 调用闭包 1
closure.call()
// 调用闭包 2
closure()
// III. 闭包默认参数
// 定义闭包变量
def closure1 = {
println it
}
// 调用闭包
closure1.call("Hello")
// 调用闭包 , 并传入一个默认参数
closure1("Closure")
}
}
执行结果 :
class Test$_main_closure1
Hello Closure!
Hello Closure!
Hello
Closure