委托策略Groovy

委托策略Groovy,groovy,Groovy,我是groovy新手,从guide学习闭包 无论何时,在闭包中,在不显式设置接收方对象的情况下访问属性,都会涉及委派策略 这不应该返回ALLAUDIN。我哪里做错了 class Example { class Person { String name Person(String name){ this.name = name } } class Thing { String name Thing(String name){ this.name = name } } st

我是groovy新手,从guide学习闭包

无论何时,在闭包中,在不显式设置接收方对象的情况下访问属性,都会涉及委派策略

这不应该返回
ALLAUDIN
。我哪里做错了

class Example {

class Person {
String name
Person(String name){
    this.name = name
}
}

class  Thing {
String name
Thing(String name){
    this.name = name
}
}


static void main(String[] args){
    Example e = new Example();

    def p = new Person(e, 'allaudin')
    def t = new Thing(e, 'laptop')

    def getUpperName = { name.toUpperCase() }
    getUpperName.delegate = p
    println getUpperName() // EXAMPLE

}
}您需要设置

添加行:

getUpperName.resolveStrategy = Closure.DELEGATE_FIRST
在何处设置代理