java重写的特性解释
生活随笔
收集整理的这篇文章主要介绍了
java重写的特性解释
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
重写的特性:*
1.发生方法重写的两个方法的方法名、参数列表必须完全一致(子类重写父类的方法)
2.发生方法重写的两个方法的返回值,java 5或者以前,必须一样,java 7 java 8可以不同,但是必须是父类返回值的派生类。
3.子类抛出的异常下不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)
解释:
(1)在java多态机制中,对象引用fs在编译时期是属于父类类型也即Father类型,但是在运行时fs属于子类类型,也就是Son类型
(2)也就是说在编译的时候,编译器发现catch中的IOException完全能将父类方法中抛出的异常捕获,因此编译通过,但是在运 行时期,由于fs变成了子类类型,子类重写的方法抛出的异常是Exception,显然IOException不能捕获这个比它更大的异常,因此在运行时期也就出现失败
4.子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)
解释:
在一个软件系统中,子类应该可以替换任何基类能够出现的地方,并且经过替换以后,代码还能正常工作。举例、在父类中是public的方法,如果子类中将其降低访问权限为private,那么子类中重写以后的方法对于外部对象就不可访问了,这个就破坏了继承的含义
总结
以上是生活随笔为你收集整理的java重写的特性解释的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 数组元素数组中的元素通过解析字符串参数获
- 下一篇: java 二维数组的定义