方法的重载是指在同一个类中,具有多个相同方法名的方法,但是其每个方法都有独一无二的参数列表,即为方法的重载。
//在调用重载方法时,系统会自动根据其参数的不同,调用相应的方法
public class Demo{
public void function(String a){
System.out.println("function(String)");
}
public void function(String a,int b){
System.out.println("function(String,int)");
}
//根据参数的顺序不同,进行方法的重载是可以的,但是容易造成混淆
public void function(int b,String a){
System.out.println("function(int,String)");
}
}
方法的重载只能根据参数的不同进行重载,不允许通过返回值的类型进行重载,例如:
//错误的例子
public class Demo{
public int function(String a){
System.out.println("function(String)");
return 1;
}
public void function(String a){
}
}
int a = function("123"),系统可以通过上下文来调用对应的方法,但如果丢弃返回值,function("123"),系统就无法判断调用的方法了,所以方法的重载是不支持通过返回值来重载的。