1. 方法的重写概述
(1)定义:子类可以根据需要对从父类中继承来的方法进行改造,也称为方法的重置、覆盖。在程序执行时,子类的方法将覆盖父类的方法。
(2)语法格式:
|
(3)@Override 注解:用来表示此方法是重写父类方法的方法。
────────────────────────────────────────────────────────────
2. 方法重写要求
(1)子类重写的方法必须和父类被重写的方法具有相同的方法名称、参数列表
(2)子类重写的方法的返回值类型不能大于父类被重写的方法的返回值类型
父类被重写的方法的返回值类型 | 子类重写的方法的返回值类型 |
void | void |
引用数据类型:A | A 类或 A 类的子类 |
基本数据类型 | 相同的基本数据类型 |
(3)子类重写的方法使用的访问权限不能小于父类被重写的方法的访问权限
特殊情况:子类不能重写父类中声明为 private 权限的方法 |
(4)子类方法抛出的异常不能大于父类被重写方法的异常【异常知识】
────────────────────────────────────────────────────────────
3. 注意
(1)如果子类想要重写父类的方法,则子类与父类中同名同参数的方法必须同时声明为非 static ,因为 static 方法是属于类的,子类无法覆盖父类被 static 修饰的方法。
────────────────────────────────────────────────────────────
4. 代码举例
父类 |
![]() |
子类 |
![]() |