一、java的方法重载(overload)和重写(override)
1.方法重载(overload)
一个类中可以定义多个同名的方法,就是方法重载。
重载的方法必须满足条件:方法名相数同、形参类型和个数不相同,返回值可以不同,修改符可以不同。
它们具有相同的名字,但是具有不同的参数和不同的定义,调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法,这就是多态性,
案例:
public class Test {
// 整数相加
public int add(int a, int b) {
return a + b;
}
// 小数相加
public double add(double a, double b) {
return a + b;
}
// 小数和整数相加
private float add(float a, int b) {
return a + b;
}
public static void main(String[] args) {
}
}
2.方法重写(override)
子类中的方法和父类中的方法完全相同,就是方法的重写。
重写的方法必须满足:子类和父类的方法名相同、形参类型和个数、返回值必须相同,修饰符必须相同。
在java中子类可以继承父类中的方法,而不需要重新编写相同的方法,但有时子类并不想原封不动地继承父类的方法,而是想做一定的修改,这就需要采用方法重写,方法重写又称方法覆盖
案例
public class Test extends Test2{
//a+b的和在加1
@Override
public int add(int a, int b) {
int sum = a+b;
sum += 1;
return sum;
}
public static void main(String[] args) {
Test test = new Test();
System.out.println(test.add(1, 1));
}
}
class Test2 {
//计算a+b的和
public int add(int a, int b) {
return a+b;
}
}