java的知识体系庞大,边学习边总结利于知识的落实和掌握。重载和重写的考察在笔试和面试中出现的频率较高,故总结便于复习。
重写:
- 定义:
在子类中可以根据需要对从父类中继承来的方法进行改造,在程序执行时,子类的方法将覆盖父类的方法。 - 要求:
1.方法名,参数列表,必须相同;
2.子类重写方法的返回值类型不能大于父类被重写的方法的返回值类型;
3.子类重写的方法使用的访问权限不能小于父类被重写的方法的访问权限,且子类不能重写父类中声明为private权限的方法;(public>protected>default>private)
4.子类方法抛出的异常不能大于父类被重写方法的异常。 - 注意:
子父类中同名同参数的方法必须同时声明为非static的(即重写),或者同时声明为非static的(不是重写)。因为static方法是属于类的,子类无法覆盖父类的方法。
重载
- 要求:
1.同名方法的参数列表不同(可以是参数类型,参数的个数,参数的顺序);
2.返回值类型没有特殊要求。
其他:
- 它们都是实现多态的方式;
- 重写是发生在子父类之间的,而重载是发生在同一个类中的。
欢迎指正