文章目录
一、闭包中调用 Groovy 脚本中的方法
二、owner 与 delegate 区别
三、闭包中调用 Groovy 对象中的方法
一、闭包中调用 Groovy 脚本中的方法
----
在 Groovy...脚本中 , 在 Closure 闭包中 , 可以直接调用 Groovy 脚本中定义的方法 ;
def fun() {
println "fun"
}
def closure = {..., 这是无法改变的 ;
但是 Closure 闭包对象的 delegate 成员是可以修改的 ;
三、闭包中调用 Groovy 对象中的方法
----
在闭包中 , 可以直接调用 Groovy 脚本中定义的方法...;
但是如果想要在闭包中 , 调用实例对象的方法 , 就必须设置闭包的 delegate 成员 ;
如下代码中 , 想要在闭包中 , 调用 Test 对象的 fun 方法 , 在执行闭包之前 , 必须将...}
}
// 闭包中不能直接调用 Test 对象中的方法
// 此时可以通过改变闭包代理进行调用
def closure = {
fun()
}
closure.delegate = new