重载(overload)
什么是重载
多个方法的名称一样,但是参数列表不一样;
方法重载与以下因素相关
- 方法名相同
- 方法的参数类型,参数的个数不一样
- 方法的返回类型可以不相同
- 方法的修饰符可以不相同
- main方法也可以被重载
方法重载与以下因素无关
- 与参数的名称无关
- 与方法的返回值的类型无关
public class demo {
public static void main(String[] args) {
System.out.println(sum(10.0, 2));
System.out.println(sum(10, 3, 3));
System.out.println(sum(10, 4, 3, 4));
}
public static int sum(int a, int b) {
return a + b;
}
// 参数的类型不同
public static int sum(double a, int b) {
return (int) (a + b);
}
// 参数的多类型顺序不同
public static int sum(int a, double b) {
return (int) (a + b);
}
/*
//与返回值的类型无关
public static double sum(int a, int b) {
return 0.1;
}*/
/*
// 与参数的名称无关
public static int sum(int x, int y) {
return x + y;
}*/
// 参数的个数不同
public static intsum(int a, int b, int c) {
return a + b + c;
}
public static boolean sum(int a, int b, int c, int d) {
return true;
}
}