【发布时间】:2016-01-16 03:06:34
【问题描述】:
使用 groovy .& operator 可以创建对静态方法的引用,如
def static xyz( name='Joe' ) {
println "Hello ${name}"
}
// NOTE: ConsoleScript number part varies
def ref = ConsoleScript52.&xyz
并且可以在没有参数的情况下轻松调用,如
ref() // prints "Hello "
但是如何用参数调用这个方法呢? ref('John') 给出错误groovy.lang.MissingMethodException: No signature of method: ConsoleScript52.xyz() is applicable for argument types: (java.lang.String) values: [John]
请注意,当使用 ref 调用静态方法时,Groovy 甚至不使用上面示例中 name 参数的默认值。
【问题讨论】:
标签: groovy static-methods