Java 为什么某些接口方法被另一个接口覆盖?

Java 为什么某些接口方法被另一个接口覆盖?,java,interface,Java,Interface,它仅仅是为了文档目的(例如,Deque接口覆盖队列接口的所有方法,给它们另一个描述),还是有其他原因?您可以使用它来强制执行更具体的方法签名和返回类型。考虑: public interface Foo { Object result(); } public interface Bar extends Foo { @Override String result(); // Bar redefines result() to return a String } 您可以使用它强制执行更

它仅仅是为了文档目的(例如,Deque接口覆盖队列接口的所有方法,给它们另一个描述),还是有其他原因?

您可以使用它来强制执行更具体的方法签名和返回类型。考虑:

public interface Foo {
  Object result();
}

public interface Bar extends Foo {
  @Override
  String result(); // Bar redefines result() to return a String
}

您可以使用它强制执行更具体的方法签名和返回类型。考虑:

public interface Foo {
  Object result();
}

public interface Bar extends Foo {
  @Override
  String result(); // Bar redefines result() to return a String
}

值得注意的是,您还可以使用此命令告诉API用户您不会抛出可选异常。值得注意的是,您还可以使用此命令告诉API用户您不会抛出可选异常。