为什么Java中的违规参数类型不能被覆盖?

当覆盖超类的方法时,Java允许返回类型是协变的.

为什么在超越方法时不允许使用相反的参数类型?

解决方法

因为这就是所谓的 overloading.

特别地,返回类型类型可以是协变的,因为它在超载时不被考虑,因此它仍然符合超类或接口的实现.超载时会考虑参数.您可以使用Number doSomethingWithNumber(Integer value)与Number doSomethingWithNumber(Number值)进行优化.

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...