方法重载定义:方法名称一样,但实现不同的功能
满意以下三个条件之一,可以定义同名方法,即重载:
1.形式参数,顺序不一样
2.形式参数,类型不一样
3.形式参数,数量不一样
例子:
一、private static double add(double a, int b){
System.out.println(a/b);
return a/b;
}
二、private static double add(int a,double b){
System.out.println(a+b);
return a+b;
}
三、private static double add(double a,double b){
return a*b;
}
四、private static double add(double a,double b,double c){
return a+b/c;
}
讲解:
例一和例二满足条件,double和int调换顺序,即顺序不一样
列二和例三满足条件,例二:是一个int、一个double,例三是:两个double,即类型不一样
例三和例四满足条件,例三是两个double;例四是:三个double,即数量不一样
继承的重写方法的三个条件:
方法重写条件:
1.方法名、形参列表相同
2.返回值不能大于父类,可以等于父类
3.访问权限子类大于父类
代码例子:
class Vehicle{
public void run(){
System.out.println("跑");
}
}
class Plane extends Vehicle{
public void run(){//方法重写
System.out.println("飞");
}
}
了解递归
递归头:判断自己调自己什么时候结束
递归体:什么时候需要调用自己
例子:
private static int a(int a){
if (a==1){//递给头:a=1时返回值1并停止调用
return 1;
}else {//递给体:a持续减一,a≠1一直调用
return a*a(a-1);
}