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

dro*_*del 6 groovy

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

ata*_*lor 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") }
Run Code Online (Sandbox Code Playgroud)

打印:

[]
[]
[]
[getBlat, setBlat]
Run Code Online (Sandbox Code Playgroud)