且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

为什么Java中的逆变参数类型不允许覆盖?

更新时间:2023-11-05 17:16:58

因为那叫做重载

特别是,返回类型类型可以是协变的,因为重载时不会考虑它,因此它仍然匹配超类或接口的实现。重载时会考虑参数。您可以使用 Number doSomethingWithNumber(整数值)进行优化,与 Number doSomethingWithNumber(数值)进行比较。

In particular, the return type type can be covariant because it is not considered when overloading, and it therefore still matches the superclass or interface's implementation. Parameters are considered when overloading. You very well might have an optimization with Number doSomethingWithNumber(Integer value) compared to Number doSomethingWithNumber(Number value).