什么最终意味着Groovy

时间:2009-10-30 20:31:59

标签: 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()

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

谢谢, 唐

1 个答案:

答案 0 :(得分:2)

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

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