理解Ov和Overload_数量或类型_覆盖的方法返回值必须与被覆盖的方法返回值一致
一、理解Override和Overload
Override和Overload是编程中常用的概念,它们的区别是什么呢?
Overload的意思是“重载”,它允许你在一个类里有多个同名方法,但参数(数量或类型)要各不相同。
而Override则是“覆盖”的意思,指在子类中定义一个与父类同名、参数列表相同的方法,当调用这个方法时,实际上执行的是子类中的代码,这就像在父类的基础上做了升级改造。
重载和覆盖的区别
属性 | Overload(重载) | Override(覆盖) |
---|---|---|
方法签名 | 可以相同,参数不同 | 必须相同 |
多态 | 无 | 体现 |
方法体 | 可以完全不同 | 可以相同或有所不同 |
异常处理 | 无特定要求 | 子类异常不能比父类多 |
访问权限 | 无限制 | 访问权限不能降低 |
覆盖时需要注意的几个点
覆盖的方法标志必须与被覆盖的方法完全匹配。
覆盖的方法返回值必须与被覆盖的方法返回值一致。
覆盖的方法所抛出的异常必须与被覆盖方法的所抛出的异常一致,或者是其子类。
被覆盖的方法不能为private,否则子类中只是新增了方法,而不是覆盖。
理解Override和Overload的区别,对我们在编程实践中提高代码质量和可维护性具有重要意义。
延伸阅读
OverDrive是AMD官方推出的一款系统检测、超频工具,专为Spider平台打造。
关于项目协作工具:
一个工具满足团队所需:任务、项目、文档、IM、目标、日历、甘特图、工时、审批以及更多,让工作更简单。
关于研发管理工具:
是简单易用的新一代研发管理平台,让研发管理自动化、数据化、智能化,帮助企业提升研发效能。