一、方法的重载(overload) loading...
1、定义:
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或参数类型不同即可。
“两同一不同” :
同一个类、相同方法名
参数列表不同:参数个数,参数类型不同
2、举例:
Array类中重载的sort() / binarySearch()
3、判断是否是重载:
跟方法的权限修饰符、返回值类型、形参变量名、方法体都没有关系!
4、在通过对象调用方法时,如何确定某一个指定的方法:
方法名 --->参数列表
5、代码举例
public class OverLoadTest {
public static void main(String[] args) {
OverLoadTest test = new OverLoadTest();
test.getSum(1,2);
}
//如下的4个方法构成了重载
public void getSum(int i,int j){
System.out.println("1");
}
public void getSum(double b1,double b2){
System.out.println("2");
}
public void getSum(String s,int i){
System.out.println("3");
}
public void getSum(int i,String s){
System.out.println("4");
}
//不构成
// public int getSum(int i,int j){
// return 0;
// }
//
// public void getSum(int m,int n){
//
// }
}
6、练习
1.编写程序:定义三个重载方法并调用。方法名为mOl。
三个方法分别接受一个int参数,两个int参数、一个字符串参数。
分别执行平方运算并输出结果,相乘并输出结果,输出字符串信息。
在主类的main()方法中分别用参数区别调用三个方法。
//1.如下的三个方法构成重载
public void mOL(int i){
System.out.println(i * i);
}
public void mOL(int i,int j){
System.out.println(i * j);
}
public void mOL(String s){
System.out.println(s);
}
2.定义三个重载方法max().
第一个方法求两个int值中的最大值,
第二个方法求两个double值中的最大值,
第三个方法求三个double值中的最大值,
并调用三个方法。
//2.如下的三个方法构成重载
public int max(int i,int j){
return (i > j)? i : j;
}
public double max(