方法重写override 和 方法重载overload
- 重写(Override)
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
子类从父类中继承过来的 方法不能满足子类需要,可以在子类中重写(覆盖)父类的方法 更多指的是内容。
- 重载(Overload)
重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。
每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。
方法重写override | 方法重载overload | |
---|---|---|
1.类 | 产生两个继承关系的类 子类重写父类方法 | 一个类中的一组方法 |
2.权限 | 子类大于等于父类 | 没有要求 |
3.特征 | final static abstract 父类的方法是final ,子类不能重写父类方法 父类是static 子类不存在 父类是abstract 子类必须重写(子类是具体必须重写 否则子类是抽象类) | 没有要求 |
4.返回值 | 子类小于等于父类 | 没有要求 |
5.名字 | 子类与父类一致 | 一个类中的多个方法名必须一致 |
6.参数 | 子类与父类一致 | 两个或多个每一个方法的参数必须不一致(个数 类型 顺序) |
7.异常 | 运行时 编译时 如果子类方法抛出运行时异常子类可以不予理会 如果父类方法抛出编译时异常子类抛出的异常个数少于等于父类 子类抛出异常的类型小于等于父类 | 没有要求 |
8.方法体 | 方法内容与父类不一致 | 每一个重载的方法执行过程不一致 |