Groovy属性定义

Dón*_*nal 6 groovy

以前我认为Groovy中的属性由省略了作用域关键字表示.换一种说法

class Test {
   def prop = "i am a property"
   public notProp = "i am not"
}
Run Code Online (Sandbox Code Playgroud)

但是,看起来我对此不正确,因为以下脚本打印"getter val"

class Foo {
  public bar = "init val"

  public getBar() {
    "getter val"
  }
}

println new Foo().bar
Run Code Online (Sandbox Code Playgroud)

bar访问时调用getter的事实表明这bar是属性而不是字段.那么Groovy中字段和属性之间究竟有什么区别呢.

谢谢,唐