Это конкретное предложение книги кажется неправильным.
blockquote>Таким образом, в этом случае, совместимым с обеими декларациями, было бы
@Override public void x() { }
. В обеих декларациях были общие исключения, которые они могли включить в декларацию.
interface I1 { public void x() throws I1Exception, I2Exception; } interface I2 { public void x() throws I2Exception; }
then
@Override public void x() throws I2Exception { }
Или, альтернативно, в вашем примере, если у вас есть что-то вроде
class I1Exception extends I2Exception { } class I2Exception extends Exception { }
Тогда можно было бы написать декларацию совместимого метода как
@Override public void x() throws I1Exception { }