Java 方法重载:int 和 Integer 类型如何影响方法定义?

java 方法重载:int 和 integer 类型如何影响方法定义?

方法重载与 int、Integer 类型关系

在学习中遇到一个问题,想知道 public int add(int a, int b)public void add(Integer a, Integer b) 这两个方法之间的关系。

根据重载的条件:方法名相同、参数类型不同或个数不同、返回类型可能不同,这两个方法看似是重载

然而,由于 Integer int 的封装类型,并且在调用方法时,Java 会优先查找基本数据类型,当 public int add(int a, int b)public int add(Integer a, Integer b) 同时存在时,会认为它们是 相同的方法,即使返回类型不同。

因此,当返回值类型为 int 时,编译器会报错,提示这两个方法无法区分。

以上就是Java 方法重载:int 和 Integer 类型如何影响方法定义?的详细内容,更多请关注其它相关文章!