我有一个这样的课程:
在foo.groovy
class Foo {
String thing
Integer other
Foo(String thing) {
this.thing = thing
}
Foo(Integer other) {
this.other = other
}
}
return Foo.class
现在我想调用这些构造函数。我在做的是:
Other.groovy
def foo = evaluate(new File(ClassLoader.getSystemResource('foo.groovy').file)).newInstance(10)
def foo2 = evaluate(new File(ClassLoader.getSystemResource('foo.groovy').file)).newInstance("thing")
但这似乎不是正确的做法。理想情况下,我想实际命名文件Foo.groovy
,但后来我收到错误,因为它会自动为我声明类。基本上,我希望它像经典的Java类一样工作
答案 0 :(得分:0)
也许我在这里遗漏了一些东西,但是:
class Foo {
String thing
Integer other
Foo(String thing) {
this.thing = thing
}
Foo(Integer other) {
this.other = other
}
}
def x = new Foo(10)
assert x.other == 10 // true
def y = new Foo("foo")
assert y.thing == "foo" // true
除了那之外,你还想在这里完成什么?
修改:Try it here。