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 8 新特性:扩展注解(类型注解和重复注解)
转载自 Java 8 新特性:扩展注解(类型注解和重复注解) (注:先回顾下JDK1.5版本出现的注解 ,然后再解释JDK 8的注解 更新内容.) 一.注解(JDK1.5) 1.注解(@): 注解就 ...
- Java 10新特性
Java 10新特性 Java 10是其23年历史中最快的java版本.Java因其缓慢的增长和发展而受到批评,但Java 10刚刚破坏了这一概念.Java 10是一个具有许多未来变化的版本,其范围和 ...
- Java 10 新特性概述
Java 10是其23年历史中最快发布的java版本.Java因其缓慢的增长和发展而受到批评,但Java 10刚刚破坏了这个概念.Java 10是一个具有许多未来变化的版本,其范围和影响可能并不明显, ...
- Java的三大特性之继承
此处我会分为这几个部分来理解继承是怎么样的: 1.区分封装.继承和多态 2.区分限定词的范围 3.区分隐藏.覆盖.重载 4.继承的理解 5.一道面试题的原型 --------------------- ...
- Java 面向对象四大特性
Java 面向对象四大特性 1.抽象 2.封装 3.继承 4.多态 1.抽象.抽象就是将一些事物的共性和相似点抽离出来,并将这些属性归为一个类,简单理解是:将需要解决的事情抽象成Java代码. ...
- Java 类的特性1
Java 类的特性1 继承 1.为什么要有继承? 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可. 2.此处的多个类称为子类,单独的 ...
- Java 重写 多态性_java多态性重写overriding和重载overloading的区别
一.概述 就Java而言,当有人问: 什么是多态? 将重载或重写的区别解释为一个可以接受的答案? 如果您有一个抽象基类,它定义了一个没有实现的方法,并且您在子类中定义了该方法,那该方法是否仍然覆盖? ...
- Java 8新特性探究(二)深入解析默认方法
转载自 Java 8新特性探究(二)深入解析默认方法 什么是默认方法,为什么要有默认方法 简单说,就是接口可以有实现方法,而且不需要实现类去实现其方法.只需在方法名前面加个default关键字即可. ...
- Java 8新特性——default方法(defender方法)介绍
转载自 Java 8新特性--default方法(defender方法)介绍 我们都知道在Java语言的接口中只能定义方法名,而不能包含方法的具体实现代码.接口中定义的方法必须在接口的非抽象子类中实现 ...
最新文章
- BetaBot 木马分析
- asp.netkg117《计算机网络》教学网站的设计与实现,《计算机网络》教学网站的设计与实现 毕业论文.doc...
- java枚举比较大小写_Spring 3.0 MVC绑定枚举区分大小写
- 腾讯招.NET5,居然要求精通MySQL,而不是SQLServer!
- 网页设计如何排成一列_网页设计如何影响以及改善SEO?
- JavaScript导出图片和数据到Excel
- BeautifulSoup实现博文简介与过滤恶意标签(xxs攻击)
- C#使用Minidump导出内存快照Minidumper
- Unexpandable Clocks不可扩展时钟 UG903
- 人性观察,人类关系的基石
- Win10:修改电脑桌面路径
- 电子计算机断层扫描简称,计算机断层扫描技术(简称PET)
- 网站流量分析的整体思路(大数据)
- 1470_Linux下使用pdftk进行pdf文件的页面提取以及合并
- Android P指示灯调节代码逻辑
- 3D建模和渲染吃CPU还是显卡?专业显卡和游戏显卡的区别
- 在linux中DATAX和DATAX-WEB安装指引
- java批量删除日志文件_日志清理与文件批量删除
- 世界上最难的5种编程语言
- 高职高考数学可以用计算机吗,什么学习水平高职高考数学可以答满分