重载与递归
一、方法的重载
在Java中,同一个类中的多个方法可以有相同的方法名,但是有不同的参数列表(参数签名),这就是方法的重载。
条件:
同一个类中的多个方法,方法名相同,参数列表(参数签名)不同,与返回值无关,只看参数列表(参数的个数、参数的类型、参数的顺序)。
例如:
public static double getArea(double a, double b) {
return a * b;
}
public static double getArea(double r) {
return r * r * Math.PI;
}
public static double getArea(double a, double b, double c) {
return (a + b) * c / 2;
}
注意:方法的重载与方法的修饰符无关
方法的重载与方法的返回值类型无关
方法的重载与参数的名字无关
二、递归
简单的说就是方法自己调用自己,在合理的位置使用递归可以简化代码的结构,但是在复杂的情况下,递归会大量的占用内存,可能会降低效率。
使用递归关键要注意的是:递归条件(停止调用自己的条件)
最常见的递归就是处理阶乘问题,例如:
public static int rec(int 5){
//临界条件
if(i==1){
return 1;
}
return i * rec(i-1);
}
}
递归前进段: 不停的自己调用自己,直到临界条件之间这个过程
递归后退段: 从临界条件开始,将结果返回给调用的上一层的过程