博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java的重写规则
阅读量:7112 次
发布时间:2019-06-28

本文共 691 字,大约阅读时间需要 2 分钟。

重写不能破坏父类的访问性和逻辑结构性。 对于异常重写方法不能抛出新的异常或者比被重写方法声明的检查异常更广的检查异常。但是可以抛出更少,更有限或者不。 重写规则之一:重写方法不能比被重写方法限制有更严格的访问级别。 (但是可以更广泛,比如父类方法是包,子类的重写方法是public。) 比如:Object类有个toString()方法,开始重写这个方法的时候我们总容易忘记public修饰符, 编译器当然不会放过任何教训我们 的机会。出错的原因就是:没有加任何访问修饰符的方法具有包,包访问权限比public当然要严格了,所以编译器会报错的。 重写规则之二: 参数列表必须与被重写方法的相同。 重写有个孪生的弟弟叫重载,也就是后面要出场的。如果子类方法的参数与父类对应的方法不同,那么就是你认错人了,那是重载,不是重写。 重写规则之三:返回类型必须与被重写方法的返回类型相同。 父类方法A:void eat(){} 子类方法B:int eat(){} 两者虽然参数相同,可是返回类型不同,所以不是重写。 父类方法A:int eat(){} 子类方法B:long eat(){} 返回类型虽然兼容父类,但是不同就是不同,所以不是重写。 重写规则之四:重写方法不能抛出新的异常或者比被重写方法声明的检查异常更广的检查异常。但是可以抛出更少,更有限或者不。 注意:这种限制只是针对检查异常,至于运行时异常RuntimeException及其子类不再这个限制之中。 重写规则之五: 不能重写被标识为final的方法。 重写规则之六:如果一个方法不能被继承,则不能重写它。如private方法

转载地址:http://oeghl.baihongyu.com/

你可能感兴趣的文章
C++ 项目改动后eclipse 项目编译 改动无效
查看>>
github学习心得
查看>>
Qt Charts 下的BarChart数据系列标签显示Bug
查看>>
Soap的错误小结
查看>>
GlassFish下手动部署JSF程序
查看>>
IIS报错:Exception from HRESULT: 0x8007000B解决方法
查看>>
隐身扫描服务信息
查看>>
PHP获取新插入的主键id
查看>>
Mac/Linux 常用命令
查看>>
贝叶斯决策
查看>>
Ubutu16.04+Cuda9.2/9.0+Cudnn7.12/7.05+TensorFlow-gpu-1.8/1.6
查看>>
手机应用开发宝典:如何养成一款畅销APP
查看>>
响应式开发: 宽高等比例缩放
查看>>
hdu1272 并查集
查看>>
cf549B Looksery Party 贪心
查看>>
leetcode171 Excel列表序列号
查看>>
文件下载
查看>>
js之数组,对象,类数组对象
查看>>
zabbix上监控docker
查看>>
Python抓取优酷视频(上):爬虫使用及数据处理
查看>>