def
является заменой имени типа. В определениях переменных он используется для указания того, что вам не важен тип.
Если вы не объявите тип переменной, Groovy под обложками будет объявлен как тип Object
. Вы можете думать о def
как псевдоним Object
.
В вашем примере:
def c = new MyClass()
// transform to:
java.lang.Object c = new MyClass()
MyClass c = new MyClass()
// transform to:
MyClass c = new MyClass()