重写和重载的区别是什么
重写和重载的主要区别如下:
1. 定义不同:重载是在同一类中定义多个名称相同但参数列表不同的方法,而重写是在子类中重新定义父类中的方法。
2. 范围不同:重载的方法在同一类中,重写的方法在父子类中。
3. 多态不同:重载是编译时的多态性,重写是运行时的多态性。
4. 参数不同:重载的方法名相同,参数不同;重写的方法名、参数都相同。
5. 修饰不同:重载对修饰范围没有要求,重写要求重写方法的修饰范围大于被重写方法的修饰范围。
6. 返回值类型:重载不能改变返回值类型,重写可以。
7. 访问权限:重载的方法可以有不同的访问权限,重写的方法访问权限不能更低。