重写(覆盖,Override)和重载(Overload)的区别

override(重写)
1.方法名、参数、返回值相同。
2.子类方法不能缩小父类方法的访问权限。
3.子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。
4.存在于父类和子类之间。
5.方法被定义为 final 不能被重写。

overload(重载)
1.参数类型、个数、顺序至少有一个不相同。
2.不能重载只有返回值不同的方法名。
3.存在于同类中。(也有说可以发生在父类和子类中的,他们的想法是子类继承了父类的所有方法,子类再次声明一个同名的方法,改变参数类型也算重载,但我个人认为,这还是发生在子类内部的重载。)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容