不允许在Groovy中使用setter

Vin*_*nys 2 groovy

我开始研究Groovy,对于如何定义类参数我有一些复杂的感觉.默认情况下,它们包括getter和setter,但是如果我不想拥有setter呢?限制为仅允许获取属性值的方法是什么?在C#中可以这样做:

public double Hours
{
    get { return seconds / 3600; }
}
Run Code Online (Sandbox Code Playgroud)

如果我没错的话.

tim*_*tes 5

如果将属性声明为final,则不会创建setter.

或者,如果您声明自己的私有/受保护的setter,则不会创建公共的setter.

所以,如你的例子:

Integer hours
private void setHours(Integer hours) {}
Run Code Online (Sandbox Code Playgroud)

要么:

final Integer hours
Run Code Online (Sandbox Code Playgroud)