Вы можете использовать его для применения более специфичных сигнатур методов и типов возвращаемых данных.Рассмотрим:
public interface Foo {
Object result();
}
public interface Bar extends Foo {
@Override
String result(); // Bar redefines result() to return a String
}