文章目录
一、闭包作为函数参数
二、闭包作为函数参数代码示例
一、闭包作为函数参数
声明一个 fun 函数 , 可以 将参数声明为 Closure<?> 闭包类型 , 在该函数中 , 执行闭包内容 ;
声明函数 :
/** * 定义一个方法 , 接收闭包作为参数 , 在方法中执行闭包内容 * @param closure * @return */ def fun(Closure<?> closure) { closure() }
调用上述函数时 , 只需要 将 闭包 当做 参数 传递到函数中 即可 :
fun ({ println "Closure 1" })
如果 闭包是函数的最后一个参数 , 可以 省略括号 , 将闭包写在函数后面 :
fun { println "Closure 2" }
二、闭包作为函数参数代码示例
完整代码示例 :
/** * 定义一个方法 , 接收闭包作为参数 , 在方法中执行闭包内容 * @param closure * @return */ def fun(Closure<?> closure) { closure() } static void main(String[] args) { fun ({ println "Closure 1" }) fun { println "Closure 2" } }
执行结果 :
Closure 1 Closure 2