что значит финал в Groovy - PullRequest
       13

что значит финал в Groovy

8 голосов
/ 30 октября 2009

Если вы запустите следующий код в консоли 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 Ответ

2 голосов
/ 30 октября 2009

Похоже, что это может быть ошибка Groovy:

Я бы не думал, что val должен быть назначен после инициализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...