方法重载:
一个类中,出现多个方法名称相同,但是参数列表不同,那么这些方法就是方法重载。
方法重载规则:
- 方法名称相同
- 参数列表不同(个数不同、类型不同、排列顺序不同)
代码演示:
public static void main(String[] args) {
//方法重载:名称一样,参数列表不一样
method(5, 5);
//参数个数不同
method(5, 5, 5);
//参数类型不同
method(5, 5.5);
//参数排列顺序不同
method(5.5, 5);
}
public static void method(int a, int b) {
System.out.println(a + b);
}
public static void method(int a, int b, int c) {//参数个数不同
System.out.println(a + b + c);
}
public static void method(int a, double b) {//参数类型不同
System.out.println(a + b);
}
public static void method(double a, int b) {//参数排列顺序不同
System.out.println(a + b);
}
方法重写:
在继承中,子类出现了和父类中一模一样的方法,我们就称子类这个方法是重写方法。
@Override重写注解:
- @Override是放在重写后的方法上,作为重写是否正确的校验注解
- 加上@Override注解后如果重写错误,编译阶段会出现错误提示
方法重写注意事项和要求:
- 重写方法的名称、参数列表必须与被重写的方法的名称和参数列表一致
- 私有方法不能被重写
- 子类重写父类方法时,访问权限必须大于或等于父类
- 子类不能重写父类的静态方法,如果重写会报错
- 子类重写方法抛出的异常不能大于父类方法抛出的异常
代码演示:
class Fu {
public String method() {
return "Hello World!";
}
}
class Zi extends Fu {
//重写父类方法
@Override
public String method() {
return "Hello Java!";
}