我正在尝试Xtend。是否可以制作构造函数?看起来很简单,但是当我尝试这样的事情时,我收到了一个错误:
class Scope extends Rect {
public Scope(){
super()
}
}
答案 0 :(得分:12)
构造函数是通过重载new()方法定义的:
class MyClass extends AnotherClass {
new(String s) {
super(s)
}
new() {
this("default")
}
}
看here
答案 1 :(得分:2)
Xtend的下一个版本计划于12月中旬推出。它将支持声明构造函数。
答案 2 :(得分:1)
Xtend尚不支持构造函数。建议def Scope()更像是一个bug而不是一个工作的构造函数。您可能需要遵循此ticket。
答案 3 :(得分:1)
Xtend 2.0中没有构造函数支持。我认为这是一个表演者。
“class Foo {def Foo(){/ stuff /}}使用推断的返回类型而不是构造函数声明Foo实例上的方法Foo,因为浏览生成的Java代码将显示
这意味着无法扩展缺少默认构造函数的Java类。 XTend没有抱怨;它很乐意生成无法编译的Java。
XTend也不支持不可变(最终)实例变量,自然就足够了。