重写的方法无法引发Java异常

重写的方法无法引发Java异常,第1张

重写方法无法引发Java异常

重写的方法可以引发Exception,只要被重写的方法也抛出相同的Exception。您不能 引入 新的例外。

那么,为什么不能引入新的Exception?

OOP的中心概念之一是使用抽象类型,并且所有子类型都可以视为抽象类型。参见里斯科夫替代原理

您不能引入更广泛的行为的原因是,如果抽象类型(超类或接口)中的方法未引发Exception并且您将对象引用为该类型,则可能会出现意外的行为:

Alpha alpha = new Beta();// At this point, the compiler knows only that we have an Alphaalpha.myMethod();

如果阿尔法的

myMethod()
不抛出一个异常,但测试版的 ,我们可以得到在上面的代码意外的异常。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5600586.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存