我正在努力理解为什么以下界面层次结构不起作用。
假定人员扩展实体:
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();