分析一下,既然涉及到了“基类”,那么推测文中的“重载”其实是对“override”的错误翻译,其本意应当是指“重写”,也就是通常讲的“覆盖”,那么就容易理解了,这句话的意思是说“一个重写的方法不能抛出未在其基类中定义的异常”。 这句话应该被判断为错误,因为其表述并不全面,正确的说法是“一个重写的方法不能抛出未在其基类中定义的非运行时异常,但是它可以抛出未在其基类中定义的运行时异常”。比如常见的NullPointerException异常等等,而这些异常可以不在基类中定义。
分析一下,既然涉及到了“基类”,那么推测文中的“重载”其实是对“override”的错误翻译,其本意应当是指“重写”,也就是通常讲的“覆盖”,那么就容易理解了,这句话的意思是说“一个重写的方法不能抛出未在其基类中定义的异常”。
这句话应该被判断为错误,因为其表述并不全面,正确的说法是“一个重写的方法不能抛出未在其基类中定义的非运行时异常,但是它可以抛出未在其基类中定义的运行时异常”。比如常见的NullPointerException异常等等,而这些异常可以不在基类中定义。