为什么使用[List <?扩展SuperClass> returnList]是必需的,但是[?扩展SuperClass returnObj]不是

时间:2019-08-21 18:30:17

标签: java

我正在努力理解为什么以下界面层次结构不起作用。

假定人员扩展实体:

public interface SuperInterface {

    Entity giveMeObject();  // other this

    List<Entity> giveMeObjects();  // this

}

public interface LowerInterface extends SuperInterface {

    @Override
    Person giveMeObject();

    @Override
    List<Person> giveMeObjects();
}

上面的示例将无法编译。 标有// this的行 需要更改为:

default List<? extends Entity> giveMeObjects();

这是为什么?以及为什么我不需要修改标记为// other this的行 以类似的方式,例如:

? extends Entity giveMeObject();

0 个答案:

没有答案