A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 木木赤赤 中级黑马   /  2013-11-29 08:38  /  1358 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 木木赤赤 于 2013-12-27 07:58 编辑

复写的方法后面能异常用throws抛出异常吗?为什么?

3 个回复

倒序浏览
子类在重写父类的具有异常声明的方法时,要么不抛异常,要么就抛出跟父类方法相同的异常或该异常的子类。

子类在重写父类的具有异常声明的方法的同时,又去实现了具有相同方法名称的接口且该接口中的方法也具有异常声明,则子类中的重写的方法,要么不抛出异常,要么抛出父类中方法声明异常与接口中方法声明的异常的交集。例子如下:
  1. class Test  
  2. {  
  3.     public Test() throws IOException  
  4.     {}  
  5.     void test() throws IOException  
  6.     {}  
  7. }  
  8.   
  9. interface I1{  
  10.     void test() throw Exception;  
  11. }  
  12.   
  13. class SubTest extends Test implements I1  
  14. {  
  15.     public SubTest() throws Exception,NullPointerException, NoSuchMethodException  
  16.     {}  
  17.     void test() throws IOException  
  18.    {}  
  19. }  
复制代码
回复 使用道具 举报
同学、问题已经解决了吗?
如果没有、就去新版28期问吧,26~27已经结束了。开班了!
http://bbs.itheima.com/forum-165-1.html

如果问题已经解决,请及时修改主题为“提问结束”。
修改主题的方法链接
http://bbs.itheima.com/thread-89313-1-1.html
如果没有解决,可能你的问题问得不够清楚。可以重新发问的哦~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马