注意:
重载的方法,实际是完全不同的方法(独立的方法),只是名称相同
构成方法重载的条件:
-
不同的含义:形参类型、形参个数、形参顺序不同
-
只有返回值不同不构成方法的重载
实例:
int a(String str){}与void a(String str){}
public static int add(int n1, int n2){
int sum = n1 + n2;
return sum;
}
public static double add(int n1, int n2){
double sum = n1 + n2;
return sum;
}
/*
即便传入的参数不同
不构成方法重载
-
只有形参的名称不同,不构成方法的重载
实例:
int a(String str){}与int a(String s){}
public static double add(int n1, int n2){
double sum = n1 + n2;
return sum;
}
public static double add(int n2, int n1){
double sum = n1 + n2;
return sum;
}
不构成方法重载
构成方法重载的实例:
/**
* 测试方法的重载
* @author Lucifer
*/
public class TestOverLoad {
public static void main(String[] args){
System.out.println(add(1,2,3));
System.out.println(add(3.0,4));
System.out.println(add(3,5.0));
System.out.println(); //这个输出语句本身就是重载的方法
}
/**
* 求和的方法
*/
public static int add(int n1, int n2){
int sum = n1 + n2;
return sum;
}
//方法名相同,参数个数不同,构成重载
public static int add(int n1, int n2, int n3){
int sum = n1 + n2 + n3;
return sum;
}
/*
方法+static目的是为了方便调用
1.在main方法里面用了static后面的方法没用static则需要创建对象去对后面的方法进行调用
2.如果后面的方法页用了static则可以直接调用,不需要再创建对象
*/
public static double add(double n1, int n2){
double sum = n1 + n2;
return sum;
}
//方法名相同,参数类型不同,构成重载
public static double add(int n1, double n2){
double sum = n1 * n2;
return sum;
}
//不构成重载
// public static double add(int n1, int n2){
// double sum = n1 + n2;
// return sum;
// }
}