黑马程序员技术交流社区
标题:
接口里的方法有异常,子类实现接口后,重写方法可以不抛吗?
[打印本页]
作者:
李彦来
时间:
2014-10-12 23:45
标题:
接口里的方法有异常,子类实现接口后,重写方法可以不抛吗?
public interface BusinessService {
void saveCustomer(Customer c)throws Exception;
}
public class BusinessServiceImpl implements BusinessService {//
public void saveCustomer(Customer c) {//重写的方法可以不抛异常吗?
}
这么写编译不会报错!为什么啊?
作者:
shijianws
时间:
2014-10-13 06:14
可抛,可不抛,不能抛出比父类更多异常,但是父类不抛的子类覆写一定不能抛
作者:
yueyazhishang
时间:
2014-10-14 11:18
异常处理有两种方式,其一是向上抛出让调用者处理,其二是自行处理,也就是些try catch块进行处理。
作者:
付博
时间:
2014-10-16 15:45
我觉得是一个类在实现接口或继承类,进行方法覆盖的时候可以抛出原方法的异常、原方法异常的子集、也可以不抛出异常,或者runtime异常及其子孙类异常(因为此类异常可以不捕获、不抛出)。编译是可以通过的,是否抛出异常取决于调用者。
作者:
sugar
时间:
2014-10-16 16:18
不抛,就得try
作者:
颜仔
时间:
2014-10-16 17:20
子类实现接口方法时,如果没有异常抛出,子类也一定不能抛,子类方法如果有异常,必须进行try处理。
作者:
潘杰
时间:
2014-10-17 23:30
父类如果声明抛出就可以抛,如果没声明那么子类继承时只能try,不能抛
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2