方法的重载
java允许在一个类中定义多个同名方法,只要参数不同即可
方法的参数是在一开始定义方法的时候就规定好的,但有时候运用场景不同,实现功能相同,就需要传入不同的参数,保证不同场景下实现同一功能
//定义方法求矩形和圆形的面积
public class chongzai {
public static void main(String[] args) {
double r = 2; //圆的半径
double longg = 3; //矩形的长
double width = 2; //矩形的宽
double areaRectangle = area(longg,width);
double roundRectangle = area(r);
System.out.println("矩形的面积是:"+areaRectangle);
System.out.println("圆形的面积是:"+roundRectangle);
}
private static double area(double r) {
return 3.14*r*r;
}
private static double area(double longg, double width) {
return longg*width;
}
}
具题参数不同的调用区别:
这些都是java不同的输出方法
public void println(int i){…}
public void println(double d){…}
public void println(String s){…}
根据参数的不同来区分他们,他们就构成了方法的重载。实际调用他们的时候根据传入参数的类型来选择调用那种方法:
System.out.println(102); // 调用println(int i)方法
System.out.println(102.25); // 调用println(double d)方法
System.out.println("价格为 102.25"); // 调用println(String s)方法
注意:
1.方法重载的构成只和参数类型有关,和是否有返回值无关(思考:为什么)
2.为什么用方法的重载,而不是定义不同的方法来实现这个功能。
因为这些方法的功能是相似的,如果重新定义一个方法们就会降低程序的可读性,难以区分