我有两个问题:
在这两种情况下,都是因为你覆盖的基本方法已经设置了与调用代码的契约; 如果你可以添加方法可能抛出的已检查异常,那么你将违反合同.
考虑一个Base带有foo抛出已检查异常的方法的类SomeException.你也有一个Derived派生Base和覆盖的东西foo.Code in App正在使用Base b变量,但使用新的实例Derived和调用来初始化它b.foo().合同只是foo投掷SomeException; 抛出任何其他东西打破了合同.
| 归档时间: |
|
| 查看次数: |
3357 次 |
| 最近记录: |