Java 类定义中的有界通配符不起作用?

Java 类定义中的有界通配符不起作用?,java,Java,我正在努力完成以下工作: import java.io.Serializable; public abstract class Thing implements Iterable<? extends Serializable> {} import java.io.Serializable; 公共抽象类实现了Iterablejava.lang.Iterable类定义 Iterable<T> Iterable 因此,它总是希望任何类或接口分配给genric参数T 但是

我正在努力完成以下工作:

import java.io.Serializable;
public abstract class Thing implements Iterable<? extends Serializable> {} 
import java.io.Serializable;

公共抽象类实现了Iterablejava.lang.Iterable类定义

Iterable<T>
Iterable
因此,它总是希望任何接口分配给genric参数T


但是您传递了导致错误的绑定类型参数。

我认为您的目的是实现以下内容:

public class FooBar implements Iterable<? extends Serializable> {
    public Iterator<? extends Serializable> iterator() {
        return new Itr();
    }
}

public类FooBar实现了Iterable
Iterable
是一个接口,
Serializable
也是一个很好的接口,但同样的错误。为什么需要这个功能?你的用例是什么?
Serializable
是一个接口,你不能从中继承。@HunterMcMillen是的,你是对的,实际上我写这篇文章时有些心不在焉。现在我更正了。您上次尝试将泛型类定义为
FooBar@HunterMcMillen实际上,接口可以从另一个接口继承。@Eng.Fouad本例中并非如此。这是从接口继承的类定义,在Java中是不可能的。
public class FooBar implements Iterable<? extends Serializable> {
    public Iterator<? extends Serializable> iterator() {
        return new Itr();
    }
}