ruby - 如何使用 Groovy 将字段动态添加到 Java 类?

标签 ruby groovy metaprogramming language-features

在 Ruby 中,我可以通过打开类并执行以下操作来将实例变量添加到类中:


class Whatever
   def add_x
     @x = 20
   end
end

这会给我添加一个名为 x 的实例变量。我怎样才能在 Groovy 中做同样的事情?

最佳答案

您可以使用 Groovy 的元类:

class Foo { String bar }
f = new Foo(bar:"one")
f.metaClass.spam = "two"
f.spam == "two" // returns true
f.spam = "eggs" // Change property value
f.spam == "eggs" //returns true

关于ruby - 如何使用 Groovy 将字段动态添加到 Java 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1224313/

相关文章:

javascript - 错误-CKEditor5协作组件实现

ruby - remove_const :File

ruby - 如何为我的 Google Marketplace 应用提供无缝的入职流程

c++ - 是否可以在编译时检测函数是否被调用

ruby-on-rails - 如何计算循环次数

grails - Intellij11/Grails 2.0.1编译错误 “BUG! exception in phase '语义分析'”

grails - Intelli-J 无法运行 spock 测试? (无法附加测试记者...)

java - 了解Groovy中的多维关联数组

c++ - 您在 C++ 中看到的最酷的元编程示例是什么?

c++ - 模板类中没有名为 X 的类模板