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