Groovy trait 要求我实现它的所有超级 class 方法,而它已经在另一个接口上实现了
Groovy trait asks me to implement all of it's super class's methods while it have been implemented on another interface
我有一个接口A
(在java)
public interface A {
File getFile();
void delete();
void delete0();
}
并且接口 B
扩展了 A
(在 java 中)
public interface B extends A {
default void delete() {
this.getFile().delete();
}
}
还有一个接口 C
也扩展了 A
(在 java 中)
public interface C extends A {
default void delete0() {
this.getFile().delete();
}
}
我有一个特性 D
实现了 A
(在 groovy 中)
public trait D implements A {
private File file;
public File getFile() {
return this.file;
}
}
最后,我有一个 class E
实现了 B
、C
、D
(在 groovy 中)
public class E implements B, C, D {
}
编译时,编译器报错class E
没有实现delete0()
方法
您的代码适用于 Groovy 3.0.1,我假设您使用的是带有错误的早期版本。
我有一个接口A
(在java)
public interface A {
File getFile();
void delete();
void delete0();
}
并且接口 B
扩展了 A
(在 java 中)
public interface B extends A {
default void delete() {
this.getFile().delete();
}
}
还有一个接口 C
也扩展了 A
(在 java 中)
public interface C extends A {
default void delete0() {
this.getFile().delete();
}
}
我有一个特性 D
实现了 A
(在 groovy 中)
public trait D implements A {
private File file;
public File getFile() {
return this.file;
}
}
最后,我有一个 class E
实现了 B
、C
、D
(在 groovy 中)
public class E implements B, C, D {
}
编译时,编译器报错class E
没有实现delete0()
您的代码适用于 Groovy 3.0.1,我假设您使用的是带有错误的早期版本。