方法重载的体现形式:
(1)方法的名字相同,参数类型不同;
(2)方法的名字相同,参数的个数不同;
前提条件是这些方法要在同一个类中。
//方法重载:方法的名字相同,但参数的类型不同;方法的名字相同,参数的个数不同
public class Test9{
public static void main(String[] args) {
int a = 10;
int b = 20;
int ret = add(a,b);
System.out.println("ret = " + ret);
double a1 = 10.5;
double a2 = 10.5;
double ret2 = add(a1,a2);
System.out.println("ret2 = " + ret2);
double x1 = 19.9;
double x2 = 18.9;
double x3 = 19.3;
double ret3 = add(x1,x2,x3);
System.out.println("ret3 = " + ret3);
}
//参数类型为int
public static int add(int x,int y){
return x + y;
}
//参数类型为double
public static double add(double x,double y){
return x + y;
}
//参数个数有三个
public static double add(double a1,double a2,double a3){
return a1 + a2 + a3;
}
}
当两个方法的名字相同,参数也相同,但返回值的类型不同时,不构成重载,代码如下:
public class Test9{
public static void main(String[] args) {
int x = 1;
int y = 2;
int ret = add(x,y);
System.out.println("ret = " + ret);
}
public static int add(int a,int b){
return a + b;
}
public static double add(int q,int w){
return q + w;
}
}
该代码编译过程中会抛出如下异常: