Xtend中的类构造函数

时间:2011-11-07 08:54:38

标签: java eclipse xtend

我正在尝试Xtend。是否可以制作构造函数?看起来很简单,但是当我尝试这样的事情时,我收到了一个错误:

class Scope extends Rect {

    public Scope(){
        super()
    }

}

4 个答案:

答案 0 :(得分:12)

构造函数是通过重载new()方法定义的:

class MyClass extends AnotherClass {
  new(String s) {
    super(s)
  }

  new() {
    this("default")
  }
}

here

答案 1 :(得分:2)

Xtend的下一个版本计划于12月中旬推出。它将支持声明构造函数。

请参阅http://www.eclipse.org/Xtext/xtend/#whatsnext

答案 2 :(得分:1)

Xtend尚不支持构造函数。建议def Scope()更像是一个bug而不是一个工作的构造函数。您可能需要遵循此ticket

答案 3 :(得分:1)

Xtend 2.0中没有构造函数支持。我认为这是一个表演者。

“class Foo {def Foo(){/ stuff /}}使用推断的返回类型而不是构造函数声明Foo实例上的方法Foo,因为浏览生成的Java代码将显示

这意味着无法扩展缺少默认构造函数的Java类。 XTend没有抱怨;它很乐意生成无法编译的Java。

XTend也不支持不可变(最终)实例变量,自然就足够了。