/*
* 重写要遵循"两同两小一大"原则:
* 1)两同:
* 1.1)方法名相同
* 1.2)参数列表相同
* 2)两小:
* 2.1)子类方法的返回值类型小于或等于父类的
* 2.1.1)void时,必须相同
* 2.1.2)基本类型时,必须相同
* 2.1.3)引用类型时,小于或等于
* 2.2)子类方法抛出的异常小于或等于父类的
* 3)一大:
* 3.1)子类方法的访问控制权限大于或等于父类方法的访问控制权限
*/
一、两同:
方法名相同,参数列表相同
二、两小1:
子类方法的返回值类型需要小于或等于父类的方法的返回值类型。
具体要求如下:
* 2.1.1)void时,必须相同
* 2.1.2)基本类型时,必须相同
* 2.1.3)引用类型时,小于或等于
三、两小2:
子类重写父类的方法时: 子类方法抛出的异常小于或等于父类的异常(需要是父类方法的子类异常)
上边的语法要求的具体内容如下:
- 允许和父类方法抛出同样的异常
- 允许不再抛出任何异常.
- 允许仅抛出部分异常
- 允许抛出超类方法声明抛出异常的子类型异常
- 不允许抛出额外异常(超类方法没有声明的且不存在继承关系的)
- 不允许抛出超类方法抛出异常的超类型异常
测试代码如下:
2024-05-27 by zhaoyq
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构