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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 袁劲松 中级黑马   /  2014-1-20 10:17  /  1327 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


        子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法是什么?如果父类方法抛出多个异常,那么子类在覆盖该方法时应该怎么办?如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方法时,应该怎么办?

3 个回复

倒序浏览
子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法是什么?跟父类一样的异常 可以抛比父类多的异常 如果父类方法抛出多个异常,那么子类在覆盖该方法时应该怎么办?子类还是不可以抛比父类多的异常 要跟父类抛的异常一致 当然可以抛一个异常 Exception 如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方法时,应该怎么办?只能try 不能抛 不解释
回复 使用道具 举报
子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法是什么?答:子类方法抛出父类方法抛出的异常,或子异常

如果父类方法抛出多个异常,那么子类在覆盖该方法时应该怎么办?子类方法还是抛出父类方法抛出的异常,或子异常
如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方法时,应该怎么办?子类方法必须扑捉异常,并处理,不可以抛出
回复 使用道具 举报
1. 子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法是什么?
如果父类中跑出了异常,子类中,可以try可以抛。
(1)如果子类中可以处理就进行try处理。
(2)如果子类中处理不了,就进行抛出:第一,将父类中的异常直接抛出;第二,转换后抛出,即转换和自己功能相关的异常抛出,也就是所谓的异常链不能断。第三,如果希望程序停止,可以抛出运行时异常。
2. 如果父类方法抛出多个异常,那么子类在覆盖该方法时应该怎么办?
父类中抛出多个异常的处理方式可以以上处理方式相同,唯一需要注意的就是子类不能抛出比父类更多的异常,只能是父类异常的子集。
3. 如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方法时,应该怎么办?
当父类或者接口中没有异常抛出时,此时只有一种处理方式就是必须try。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马