JAVA中的方法重载
- 重载解决的问题
- 重载的规则
- 重载的使用
- 可变参数编程
一、重载解决的问题
有时我们需要用一个函数,同时兼顾多种参数的情况。这时就需要用到方法的重载。
二、重载的规则
针对同一个类:
- 方法名相同
- 方法的参数不同(参数的个数或者参数的类型)
- 方法的返回值不做要求,不影响重载
三、重载的使用
代码如下:
public static int add(int a,int b){
return a + b;
}
public static double add(double a,double b){
return a + b;
}
public static int add(int a,int b,int c){
return a + b + c;
}
public static void main(String[] args) {
System.out.println(1 + 8);
System.out.println(3.0+8.8);
}
运行结果
************************错误示范*************************
public static int add(int a,int b){
return a + b;
}
public static double add(int a,int b){ //编译出错
return a + b;
}
运行结果
当两个方法方法名相同,参数也相同,只有返回值不同时,不构成函数重载。
四、 可变参数编程
定义时,在最后一个形参后加上三点 …,就表示该形参可以接受多个参数值。且传入的一组数据,本质上被编译器看作一个数组。需要注意的是,这一组数据的数据类型必须相同。
public static int sum(int...array){
int ret = 0;
for(int x:array){
ret += x;
}
return ret;
}
public static void main(String[] args) {
System.out.println(sum(1,2,2));
System.out.println(sum(1,2,4,5,6,7));
}
运行结果
总结
我理解的是重载是几个方法使用同一种思想,实现同一功能,只是需要传入的参数不同(包括类型和个数)。