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

标签 groovy

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

最佳答案

如果成员使用访问修饰符声明,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]

关于groovy - 如何禁用 Groovy 访问器的生成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3311201/

相关文章:

Groovy 脚本在 jenkins 中应用 kubernetes 云配置

java - 如何知道 Groovy 控制台窗口已关闭

templates - 这个 Play 模板代码可以简化吗(避免 if/else 标签)?

java - 在 groovy/java 中使用 Jira Rest Java 客户端 (JRJC) 更新问题

java - Groovy 字符流模式匹配

grails - 如何在 Grails Controller 之间传递错误消息?

java - 考虑从 Java/Spring MVC 迁移到 Grails

groovy:在方法调用上是否使用括号?

grails - Grails 中如何覆盖外部配置文件中的配置变量,以便依赖于该变量的变量也被更新?

groovy - Groovy是否具有C#中的扩展方法?