方法的重载(OverLoad) 多个方法的名称一样,但是参数列表不一样。
方法重载与下列因素相关。
1:参数的个数不同。
2:参数类型不同。
3:参数的多类型顺序不同。
代码:
package cn.hy.com;
/*
题目要求:比较两个数据是否相等
参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型
并在main方法中进行测试。
*/
public class helloworld {
public static void main(String[] args) {
byte a=10;
byte b=20;
System.out.println(isSame(a,b));
System.out.println(isSame((short)10,(short)20));
System.out.println(isSame(11,12));
System.out.println(isSame(10L,20L));
}
public static boolean isSame(byte a,byte b){
System.out.println("两个byte参数的方法执行!");
boolean same;
if(a == b){
same = true;
}else{
same = false;
}
return same;
}
public static boolean isSame(short a,short b){
System.out.println("两个short参数的方法执行!");
boolean same = a == b?true:false;
return same;
}
public static boolean isSame(int a,int b){
System.out.println("两个int参数的方法执行");
return a == b;
}
public static boolean isSame(long a,long b){
System.out.println("两个long类型的方法测试");
if(a == b){
return true;
}else{
return false;
}
}
}
练习:
public static void open(){}//正确重载
public static void open(int a){}//正确重载
static void open(int a,int b){}//代码错误:和第8行冲突
public static void open(double a,int b){}正确重载
public static void open(int a,double b){}代码错误:与第6行冲突
public void open(int a,double b){} //代码错误:和第5行冲突。
public static void OPEN(){}//代码正确但不是重载。
public static void open(int i,int j){}//代码错误:和第3行冲突。