java - Exception Java 的异常构造函数

标签 java exception inheritance constructor

<分区>

有谁知道为什么对于覆盖过程,覆盖方法必须抛出与被覆盖方法相同类型(或子类型)的异常,而另一方面对于构造函数,它以相反的方式工作(因此,必须抛出相同的异常)父类(super class)抛出的异常或父类(super class)型。 非常感谢。

最佳答案

构造函数不会覆盖其父类(super class)的构造函数,但它们会显式或隐式地调用父类(super class)构造函数。因此,就像一个调用其他方法并抛出 Exception 的方法一样,构造函数必须要么捕获父类(super class)的构造函数抛出的异常,要么必须声明它抛出相同的异常(或那个异常(exception))。

另一方面,覆盖方法必须遵守父类(super class)的方法定义。因此,它可以抛出更具体的异常或根本不抛出异常。但它不能抛出更广泛的异常,因为那样会违反父类(super class)的约定。

关于java - Exception Java 的异常构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15298995/

相关文章:

java - 如何使用 null 键对 kstream 执行操作?

java单元测试输入异常

java - 抛出异常时EDT是否重启?

java - 有没有办法将我所有重复的 VBox 重新组织到自定义 JavaFX 标签中?

java - 事件委托(delegate)模型和事件继承模型有什么区别?

java - 如何将 MySQL 表数据插入 JSONArray?

java - 我应该使用什么 Maven 存储库来获取 tomcat jar?

Java:数据类型类似于javascript对象?

java - 在哪里处理异常

c++ - "Error: Unresolved external symbol"每当我使用纯虚函数时