我正在尝试Xtend。是否可以制作构造函数?看起来很简单,但是当我尝试这样的事情时出现错误:
class Scope extends Rect {
public Scope(){
super()
}
}
构造函数是通过重载 new() 方法来定义的:
class MyClass extends AnotherClass {
new(String s) {
super(s)
}
new() {
this("default")
}
}
看这里
Xtend 的下一个版本计划于 12 月中旬发布。它将支持声明构造函数。
Xtend 尚不支持构造函数。建议 def Scope() 比工作构造函数更像是一个错误。你可能想关注这张票。
Xtend 2.0 中没有构造函数支持。我认为这是一个表演终结者。
“class Foo { def Foo() { / stuff / } } 在 Foo 的实例上声明一个 Foo 方法,该方法具有推断的返回类型,而不是构造函数,正如浏览生成的 Java 代码所显示的那样。
这意味着无法扩展缺少默认构造函数的 Java 类。XTend 不抱怨;它会愉快地生成无法编译的 Java。
XTend 也不自然地支持不可变(最终)实例变量。