方法的重载是指在一个类中定义方法名称相同的多个函数,每个函数的参数个数或者参数类型不同。
方法的覆写是指在子类重写父类中的方法,方法的覆写重点需要关注权限问题。
主要区别如下:
区别点 | 重载 | 覆写 |
---|---|---|
单词 | Overloading | Overriding |
定义 | 方法名称相同,参数的个数或者类型不同 | 方法名称、参数类型、返回值类型全部相同 |
权限 | 没有权限要求 | 被覆写的方法不能拥有更严格的权限 |
范围 | 发生在一个类中 | 发生在子类中 |
注:
1、java一共有public、default、private三种权限,方法覆写时子类不能有比父类更严格的权限,也就是说父类权限为public时,子类中覆写的方法只能是public。
2、父类中方法的权限为private时,子类中覆写的方法权限不能是default。