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