概念:重复负载,方法名相同,参数列表不同(个数不同或参数类型不同)。
如下代码为不同参数或者参数类型不同的情况:
public class Computer {
public int add(int a , int b) {
return a+b;
}
public double add(double a , int b) {
return a+b;
}
public int add(int a , int b ,int c) {
return a+b+c;
}
public int add(int ... b) {
return b[0];
}
}
注:参数列表不同不考虑参数名的情况,如下代码两种其实是一种方法,不是重载,于是会报错。
public int add(int a , int b) {
return a+b;
}
public int add(int c , int d) {
return c+d;
}
重载导致方法名相同,调用时根据参数个数,数据类型来判断调用哪个具体方法。
如下代码运行输出6 4.2
package sirius;
public class Computer {
public int add(int c , int d) {
return c+d;
}
public double add(double a , int b) {
return a+b;
}
public int add(int a , int b ,int c) {
return a+b+c;
}
public static void main(String[] args) {
Computer c = new Computer() ;
int result = c.add(1,2,3);//参数个数
System.out.println(result);
double x = c.add(1.2,3);
System.out.println(x);//数据类型
}
}