方法重写(Override) | 方法重载(Overload) | ||
---|---|---|---|
1.类 | 产生两个继承关系的类,子类重写父类的方法 | 同一个类中的一组方法 | |
2.权限 | 子类权限修饰符可以大于等于父类,但不能小于父类 | 没有要求 | |
3.特征 | 父类方法是final修饰的,子类不能重写 父类方法是static修饰的,子类不存在重写,因为静态方法不能被重写 父类方法是abstract修饰的,子类必须重写,否则自己就是抽象类 | 没有要求 | |
4.返回值 | 如果父类的返回类型是引用类型,可以和父类返回类型一致或者是父类返回类型的子类型 | 如果父类的返回类型是基本类型,则必须保持一致 | 没有要求 |
5.方法名 | 方法名必须一致 | 方法名必须一致 | |
6.参数列表 | 子类与父类一致 | 每个方法的参数必须不一致(个数、类型、顺序) | |
7.异常 | 如果父类方法抛出运行时异常,子类可以不予理会 | 如果父类方法抛出编译时异常,子类抛出异常的个数少于等于父类,子类抛出异常的类型小于等于父类 | 没有要求 |
8.方法体 | 没有要求,实现即可 | 没有要求,实现即可 |
如有错误之处欢迎指正