所以我有以下情况:
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()方法。
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特性,它也可以解决,但它已经在超类上定义了,所以我猜有一种方法可以某种方式继承特征的foo方法。你能帮我怎么做吗?
修改: Groovy版本:2.3.10
答案 0 :(得分:3)
问题不在于常规。正是eclipse groovy插件(或编译器)错误地标记了构建。我无法解决编译问题,但是当我启动应用程序时运行正常,所以对我来说没问题。