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 插件(或编译器)。我无法解决编译问题,但是当我启动应用程序时它运行良好,所以我没问题。