重载(Overload)
含义:多个方法的名称一样,但是参数列表不一样。
优点:只需要记住唯一一个方法名称,就可以实现类似的功能。
方法重载与下列因素有关://正确的重载形式
- 参数个数不同
- 参数类型不同
- 参数的类型顺序不同
方法的重载与下列因素无关://错误的重载形式
- 与参数的名称无关
- 与方法的返回值类型无关
正确类型:
- 参数个数不同
public static void main(String[] args) { System.*out*.println(*sum*(1,1)); System.*out*.println(*sum*(1,1,1)); System.*out*.println(*sum*(1,1,1,1)); } public static int sum(int a,int b) { return a+b; } public static int sum(int a,int b,int c) { return a+b+c; } public static int sum(int a,int b,int c,int d) { return a+b+c+d; } }
- 参数类型不同
public static int sum(int a,double b){ return (int)(a+b); } public static int sum(double a,double b){ return (int)(a+b); }
- 参数的多类型顺序不同
public static int sum(int a,double b){ return (int)(a+b); } public static int sum(double a,int b){ return (int)(a+b); }
错误类型:
- 与参数的名称无关//这样就会报错
public static int sum(int a,int b){ return a+b; } public static int sum(int x,int y){ return x+y; }
- 与返回值的类型无关
public static int sum(int a,int b){ return a+b; } public static double sum(int a,int b){ return a+b+0.0; }