什么最终意味着Groovy

Dón*_*nal 8 groovy final

如果在Groovy控制台中运行以下代码,则打印"8"

class F {

  private final Integer val = 2

  def set(v) {val = v}

  def print() {println val}
}

def f = new F()
f.set(8)
f.print()
Run Code Online (Sandbox Code Playgroud)

在Java中,此代码无法编译,因为final在构造函数运行后无法分配引用.我知道对于属性,final表示该属性不能在类外部更改,但标记私有字段是什么意思final

谢谢,唐

Rob*_*ska 2

看起来这可能是一个 Groovy 错误:

我不认为val初始化后应该可以分配。