如何禁用Groovy访问器的生成?

时间:2010-07-22 16:41:00

标签: groovy

Groovy Beans很棒,但我很好奇是否可以声明一个类成员私有而不能轻易生成访问器? http://groovy.codehaus.org/Groovy+Beans>Groovy Beans页面不包含此主题。我唯一能想到的就是定义访问器并将它们设为私有。

1 个答案:

答案 0 :(得分:10)

如果使用访问修饰符声明成员,则Groovy不会添加访问者:private,protected或public。如果您不想要访问者,只需添加适当的修饰符即可。这是一个例子,说明了这一点:

class Test1 { private int blat }
println Test1.metaClass.getMethods()*.name.findAll { it.endsWith("Blat") }
class Test2 { protected int blat }
println Test2.metaClass.getMethods()*.name.findAll { it.endsWith("Blat") }
class Test3 { public int blat }
println Test3.metaClass.getMethods()*.name.findAll { it.endsWith("Blat") }
class Test4 { int blat }
println Test4.metaClass.getMethods()*.name.findAll { it.endsWith("Blat") }

打印:

[]
[]
[]
[getBlat, setBlat]