重载(即重复负载):方法名相同,参数列表不同(个数不同 或者 参数类型不同<不考虑参数名>)
1、如下:
public class Third {
//重载
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 static void main(String[] args) {
}
}
这些方法都建立在类中,并且方法名相同,在这个地方方法名都是 add ,方法名后边括号里边的是参数列表,它们是不同的
2、个数不同
public int add(int a, int b) {
return a + b;
}
public int add(int a) {
return a;
}
3、参数类型不同
public int add(int a, int b) {
return a + b;
}
public double add(double a, int b) {
return a + b;
}
4、重载导致方法名相同,调用的到底是哪一个方法?
根据调用方法参数个数 和 根据调用方法参数数据类型
public class Third {
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 static void main(String[] args) {
Third a = new Third();
int x = a.add(1,2);//参数个数
System.out.println(x);
double y = a.add(1.0, 2);//数据类型
System.out.println(y);
}
}