2013-02-08 220 views
0

我正在使用定义一些通用接口的Java包。我想在一个单独的项目中使用Groovy类实现这些接口。 Groovy编译器扼制并报告我没有实现接口。 Groovy代码的Java等价物正常工作。Groovy无法实现使用继承和泛型的Java接口

我接受Groovy编译器不支持我想要做的事情,所以我会找到另一种方式,但我仍然想知道它为什么失败。

我有这表明在Github上https://github.com/gilday/groovy-java-generics

+0

什么版本的groovy?什么是实际的例外? – 2013-02-08 16:14:43

+0

Groovy 2.0.6(在pom中)。编译器说:“在非抽象类中不能有抽象方法,类org.ozoneplatform.example。 UserRepositoryImpl'必须声明为抽象或方法java.lang.Object getById(java.lang.Object)'必须被执行“。 – jdgilday 2013-02-08 16:24:50

+0

编译器说我的接口是“java.lang.Object getById(java.lang.Object)”,但返回类型应该是“User”,参数类型应该是“Integer”。我怀疑Groovy可能会在本页的实现说明中提到的某处删除类型信息http://groovy.codehaus.org/Generics – jdgilday 2013-02-08 16:30:25

回答