• 方法的重载(overload)定义:在一个类中,允许出现一个以上的同名方法,只要他们的参数个数或者参数类型不同即可。

举例:

package demo2;

public class OverloadTest {

private void getSum(int i,int m){
System.out.println(i+m);
}

private void getSum(String i,String M){

}

/*private int getSum(int n,int m){
return 0;
}*/
private void getSum(double n,String M){

}
}

判断是否是重载:跟方法体,返回值类型,形参变量名,权限修饰符无关。
通过对象调用方法,根据方法名和参数列表去调用!
练习:
1.编写程序,定义三个重载方法并调用,方法名为mOL
三个方法分别接收一个int参数、两个int参数、一个字符串参数。分别执行平方运算并输出结果,相乘并输出结果,输出字符串信息。在主类的main ()方法中分别用参数区别调用三个方法。

package demo2;

public class OverLoaddemo {

public static void main(String[] args) {
OverLoaddemo overLoaddemo=new OverLoaddemo();
overLoaddemo.mOL(3);
overLoaddemo.mOL(5,3);
overLoaddemo.mOL("你好");
}

private void mOL(int a){
System.out.println(a*a);
}
private void mOL(int a,int b){
System.out.println(a*b);
}
private void mOL(String a){
System.out.println(a);
}
}

2.定义三个重载方法max(),
第一个方法求两个int值中的最大值,第二个方法求两个double值中的最大值,第三个方法求三个double值中的最大值,并分别调用三个方法。l

package demo2;

public class OverLoaddemo2 {
public static void main(String[] args) {

}
private int max(int a,int b){
return (a>b)?a:b;
}

private double max(double a,double b){

return (a>b)?a:b;
}

private double max(double a,double b,double c){
double max=(a>b)?a:b;
return (max>c)?max:c;
}
}