Java:定义接口中的方法时声明了异常,实现这个接口的方法时也需要抛出同样的异常吗?

2024-12-04 17:00:58
推荐回答(1个)
回答1:

不需要抛出同样的异常

    1. 实现该接口的方法可以不用抛出异常

    2. 可以抛出不一样的异常. 但是必须是接口定义的异常的子类


JDK1.8举例说明

import java.io.FileNotFoundException;
import java.io.IOException;

interface A{
void print ()throws IOException;//定义的接口的方法,抛出IO异常
}
public class B implements A {
@Override
public void print() throws FileNotFoundException {//实现方法可以抛出IO异常的子类异常
}
}
class C implements A{
@Override
public void print() throws IOException {//可以抛出一样的异常
}
}
class D implements A{
@Override
public void print()  {//可以不抛异常
}
}