Groovy具有属性/响应

Groovy具有属性/响应,groovy,Groovy,我看到的所有使用hasProperty或responds to的例子都表明它是在元类上调用的。有没有理由不应该在对象本身上调用这些方法,如下所示: def propertyName = 'time' if (new Date().hasProperty(propertyName)) println 'yes' else println 'no' 本节讨论了这个问题。看起来它们在当前版本的Groovy中引用了相同的东西,但情况并非总是如此,因为只有元类具有该调用

我看到的所有使用
hasProperty
responds to
的例子都表明它是在
元类上调用的。有没有理由不应该在对象本身上调用这些方法,如下所示:

def propertyName = 'time'

if (new Date().hasProperty(propertyName))
  println 'yes'
else 
  println 'no'

本节讨论了这个问题。看起来它们在当前版本的Groovy中引用了相同的东西,但情况并非总是如此,因为只有
元类
具有该调用