重载还是封装?
在 java 中,方法重载需要满足条件:方法名相同,参数类型或个数不同,返回类型可以不同。针对以下代码中的两个方法:
public int add(int a, int b) public void add(integer a, integer b)
虽然它们都有相同的名称,但它们参数的类型不同。因此,它们算作重载方法。
编译报错的原因
立即学习“Java免费学习笔记(深入)”;
如果再定义以下方法:
public int add(int a, int b) public int add(Integer a, Integer b)
编译器会报错。这是因为:
- java 会首先查找基本类型参数(int)的方法。
- 如果找到匹配的,则不会再查找封装类型参数(integer)的方法。
- 由于返回值类型相同,java编译器会认为这两个方法是相同的。
因此,为避免编译错误,重载方法应遵循以下规则:
- 参数类型不同(基本类型与封装类型不算不同)。
- 参数个数不同。
- 返回类型可以不同。
以上就是Java 中的重载与封装:为什么基本类型和封装类型不能算作重载?的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com