Groovy的小白在这里,我通过我的第一本书Groovy的工作,它有示例代码它规定大致我应该能够修改这最后的属性吗?书说我应该,但我得到一个错误
“如果我想有一个属性是准备-only属性然后将其声明为final。这不是定义final
字段,而是只读属性 - 您可以在定义类的实例方法中更改属性,但不能从外部更改属性“
以下是代码我有问题,但我不断收到错误消息,说明:
cannot modify final field 'miles' outside of constructor.
代码:
class Car
{
final miles = 0
def getMiles()
{
println "getMiles called"
miles
}
def drive(dist){if (dist>0) miles += dist }
}
书上说我应该能够从drive
实例方法中修改miles
,我是不是做错了什么?
我正在通过相同的书,并编写相同的代码,并给出了这个问题,感谢张贴! – ericraio