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

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

方法重载与 intInteger 类型关系

在学习中遇到一个问题,想知道 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 时,编译器会报错,提示这两个方法无法区分。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容