1.重写(覆盖Override)
重写发生在接口与实现类,父类与子类之间,特点如下:
- 方法名,返回值类型必须相同,参数列表必须相同
- 访问权限只能等于或者大于父类的访问权限
- 不能重写构造方法
重载发生在本类,方法名相同,参数列表不同,与返回值无关,特点如下:
-
方法名必须相同
-
方法的参数列表一定不一样。
-
访问修饰符和返回值类型可以相同也可以不同。
-
构造器可以重载
最后来个表格总结
| 比较 | 重写(覆盖) | 重载 |
|---|---|---|
| 类的数量 | 接口与实现类、父子类 | 本类 |
| 方法名称 | 一致 | 一致 |
| 参数列表 | 不能修改 | 必须修改 |
| 返回类型 | 不能修改 | 可以修改 |
| 异常 | 只能小于或等于父类异常 | 可以修改 |



