方法重载概述: 在同一个类中,允许存在超过一个的、同名的方法,前提是它们各自的参数个数或者参数类型不同即可。
方法重载特点: 与返回值类型无关,只看方法名和参数列表。
在调用时,JAVA虚拟机通过参数列表的不同来区分同名方法, 举例代码如下
classMethodOverloading{
public static void main(String[] args){
byte b1=20, b2=30; //俩byte型的参数
System.out.println(method(b1,b2));
short s1=15, s2=15; //俩short型的参数
System.out.println(method(s1,s2));
int i1= 30, i2=40; //俩int型的参数
if(method(i1,i2)){System.out.println("俩int数相等\n");}
else{System.out.println("俩int数不相等\n");}
long long1=50, long2=600; //俩long型的参数
System.out.println(method(long1, long2));
}
public static String method(byte x, byte y){
return (x==y)?"俩byte数相等\n":"俩byte数不相等\n";
}
public static String method(short x, short y){
return(x==y)?"俩short数相等\n":"俩short数不相等\n";
}
public static boolean method(int x, int y){
return(x==y)?true:false;
}
public static String method(long x, long y){
return(x==y)?"俩long数相等\n":"俩long数不相等\n";
}
}
可以看出,JAVA虚拟机会根据函数参数类型和个数自动匹配、执行目标方法,在windows CMD的运行效果: