我在一个java的选择题中看到一个选项:一个重载的方法在基类中不通过检查不能抛异常谁能给我解释下这句话,判断他是对错。
1 回答

月关宝盒
TA贡献1772条经验 获得超5个赞
分析一下,既然涉及到了“基类”,那么推测文中的“重载”其实是对“override”的错误翻译,其本意应当是指“重写”,也就是通常讲的“覆盖”,那么就容易理解了,这句话的意思是说“一个重写的方法不能抛出未在其基类中定义的异常”。
这句话应该被判断为错误,因为其表述并不全面,正确的说法是“一个重写的方法不能抛出未在其基类中定义的非运行时异常,但是它可以抛出未在其基类中定义的运行时异常”。比如常见的NullPointerException异常等等,而这些异常可以不在基类中定义。
添加回答
举报
0/150
提交
取消