首页 文章

Groovy中用于Java类的动态字段

提问于
浏览
1

有没有办法可以用一对“通用”getter / setter方法创建一个Java类,比如

public Object get(String name);
public void set(String name, Object object);

并使Groovy翻译语句如

myObject.foo = 'bar'

myObject.set("foo", "bar")?

myObject 是具有 get(String)set(String, Object) 方法的Java类的实例)

2 回答

  • 0

    让你的java类扩展 groovy.lang.GroovyObjectSupport ,它提供了 getPropertysetProperty 的实现,或者实现了接口 groovy.lang.GroovyObject

  • 3

    你必须在Groovy中编写两个方法(假设你从Java类派生你的Groovy类):

    def getProperty(String name) { "This is the property '$name'"   }   
    void setProperty(String name, value) { println "You tried to set property '$name' to '$value'"   }
    

相关问题