方法重载指同一个类中定义多个相同方法名的方法,但是参数类型不同或参数数量不相同
例如:
public class Demo{
public static void main(String[] args){
function1(10);
function1(10,20);
function1("40");
}
public static void function1(int a){
System.out.println("1:" + a);
}
public static void function1(int a,int b){
System.out.println("2:" + (a + b));
}
public static void function1(String a){
System.out.println("3:" + a);
}
}
如上代码,function1(int a) 和 function1(int a,int b)方法名相同,参数个数不同,构成重载;function1(int a) 和 function1(String a) 方法名相同,参数类型不同,构成重载。
需要注意,如下代码:
public static String function1(String a){
return "4:" + a;
}
String function1(String a) 和 void function1(String a)方法名相同,参数类型和个数都相同,但是方法返回类型不同,这种情况不构成重载。
除了这种情况,方法重载只针对同一个类,不同类中不能构成重载