答案 0 :(得分:2)
您收到该错误,因为Resultset和Iterable都有next()方法,但返回值不同
resultset next有boolean作为返回值 Iterator接下来将E作为返回值
但是主叫签名是一样的。在java中,通过仅更改返回值不会获得多态性;这导致编译器错误。
而不是继承,你可以将组合包括在类中的Resultset作为实例变量。
public class MyClass<E> implements Iterator<E>, Iterable<E>{
private ResultSet resultset;
}