重载:
对于同一个类,如果这个类里面有两个或者多个重名的方法,但是方法的参数个数、类型、顺序至少有一个不一样,这时候局构成方法重载。
简单点理解:多个方法的名称一样,但是参数列表不一样。
public class Overload {
public static void main(String[] args) {
System.out.println(sum(23,34));
System.out.println(sum(34,45,56));
System.out.println(sum(5,6,7,8));
}
public static int sum(int a, int b ){
System.out.println("执行两个参数的!!");
return a + b;
}
public static int sum(int a, int b , int c){
System.out.println("执行三个参数的!!");
return a + b + c;
}
public static int sum(int a, int b , int c ,int d){
System.out.println("执行四个参数的!!");
return a + b + c + d;
}
//......
}
好处:只需要记住一个方法名称,就可以实现类似的多个功能。
方法重载与下列因素有关:
1.参数个数不同
public static int sum(int a, int b ){
System.out.println("执行两个参数的!!");
return a + b;
}
public static int sum(int a, int b , int c){
System.out.println("执行三个参数的!!");
return a + b + c;
}
public static int sum(int a, int b , int c ,int d){
System.out.println("执行四个参数的!!");
return a + b + c + d;
}
2.参数类型不同
public static int sum(double a, double b){
return (int) (a + b);
}
public static int sum(int a, int b ){
System.out.println("执行两个参数的!!");
return a + b;
3.参数的多类型顺序不同
public static int sum(int a, double b) {
return (int) (a + b);
}
public static int sum(double a, int b) {
return (int) (a + b);
}
方法重载与下列因素无关:
1.与参数的名无关
2.与方法的返回值类型无关