// 定义类
class Equipment {
// 属性:计算器
def calculator
// 构造方法
Equipment(cacl) {
// 接受闭包参数
calculator = cacl
}
// 方法:模拟器
def simulate() {
println "Running simulation"
// 调用闭包函数
calculator()
}
}
// 写法1:直接传入闭包
def eq1 = new Equipment({ println "Calculator 1" })
// 写法2: 将闭包赋值给变量
def aCalculator = { println "Calculator 2" }
def eq2 = new Equipment(aCalculator)
def eq3 = new Equipment(aCalculator)
eq1.simulate()
eq2.simulate()
eq3.simulate()
运行结果:
Running simulation
Calculator 1
Running simulation
Calculator 2
Running simulation
Calculator 2
来源:CSDN
作者:mrsyf
链接:https://blog.csdn.net/mrsyf/article/details/78526321