Groovy:继承trait方法
Groovy: Inherit trait method
所以我有以下情况:
trait JsonRepresentable {
def foo() { print "json" }
}
class SuperA implements JsonRepresentable { }
class SuperB implements JsonRepresentable { }
class Child1 extends SuperA {}
class Child2 extends SuperB { }
现在,如果我在 SuperA 或 SuperB 上调用 foo() 方法,它可以正常工作。但是,如果我从他们那里继承 foo() 方法,则不会在子 classes.
上实现
Groovy:Can't have an abstract method in a non-abstract class. The class 'Child1' must be declared abstract or the method 'foo()' must be implemented.
如果我也在子对象上实现 JsonRepresentable 特征可以解决,但是它已经在 super 上定义了 class 所以我想有一种方法可以通过某种方式继承特征的 foo 方法。你能帮我怎么做吗?
编辑:
Groovy版本:2.3.10
问题不在 groovy。错误标记构建的是 eclipse groovy 插件(或编译器)。我无法解决编译问题,但是当我启动应用程序时它运行良好,所以我没问题。
所以我有以下情况:
trait JsonRepresentable {
def foo() { print "json" }
}
class SuperA implements JsonRepresentable { }
class SuperB implements JsonRepresentable { }
class Child1 extends SuperA {}
class Child2 extends SuperB { }
现在,如果我在 SuperA 或 SuperB 上调用 foo() 方法,它可以正常工作。但是,如果我从他们那里继承 foo() 方法,则不会在子 classes.
上实现Groovy:Can't have an abstract method in a non-abstract class. The class 'Child1' must be declared abstract or the method 'foo()' must be implemented.
如果我也在子对象上实现 JsonRepresentable 特征可以解决,但是它已经在 super 上定义了 class 所以我想有一种方法可以通过某种方式继承特征的 foo 方法。你能帮我怎么做吗?
编辑: Groovy版本:2.3.10
问题不在 groovy。错误标记构建的是 eclipse groovy 插件(或编译器)。我无法解决编译问题,但是当我启动应用程序时它运行良好,所以我没问题。