final在Groovy中是什么意思

final在Groovy中是什么意思,groovy,final,Groovy,Final,如果在Groovy控制台中运行以下代码,它将打印“8” 在Java中,此代码不会编译,因为在构造函数运行后,您无法分配final引用。我知道,对于属性,final表示不能在类外更改属性,但是标记私有字段final意味着什么 谢谢, Don看起来这可能是一个Groovy bug: 我不认为val在初始化之后是可分配的 class F { private final Integer val = 2 def set(v) {val = v} def print() {prin

如果在Groovy控制台中运行以下代码,它将打印“8”

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

谢谢,
Don

看起来这可能是一个Groovy bug:

我不认为
val
在初始化之后是可分配的

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()