10

如果您在 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

谢谢,唐

4

1 回答 1

2

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

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

于 2009-10-30T20:43:04.843 回答