重写的特性:*

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重写的特性解释相关推荐

  1. Java 8 新特性:扩展注解(类型注解和重复注解)

    转载自  Java 8 新特性:扩展注解(类型注解和重复注解) (注:先回顾下JDK1.5版本出现的注解 ,然后再解释JDK 8的注解 更新内容.) 一.注解(JDK1.5) 1.注解(@): 注解就 ...

  2. Java 10新特性

    Java 10新特性 Java 10是其23年历史中最快的java版本.Java因其缓慢的增长和发展而受到批评,但Java 10刚刚破坏了这一概念.Java 10是一个具有许多未来变化的版本,其范围和 ...

  3. Java 10 新特性概述

    Java 10是其23年历史中最快发布的java版本.Java因其缓慢的增长和发展而受到批评,但Java 10刚刚破坏了这个概念.Java 10是一个具有许多未来变化的版本,其范围和影响可能并不明显, ...

  4. Java的三大特性之继承

    此处我会分为这几个部分来理解继承是怎么样的: 1.区分封装.继承和多态 2.区分限定词的范围 3.区分隐藏.覆盖.重载 4.继承的理解 5.一道面试题的原型 --------------------- ...

  5. Java 面向对象四大特性

    Java 面向对象四大特性 1.抽象  2.封装  3.继承   4.多态 1.抽象.抽象就是将一些事物的共性和相似点抽离出来,并将这些属性归为一个类,简单理解是:将需要解决的事情抽象成Java代码. ...

  6. Java 类的特性1

    Java 类的特性1 继承 1.为什么要有继承? 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可. 2.此处的多个类称为子类,单独的 ...

  7. Java 重写 多态性_java多态性重写overriding和重载overloading的区别

    一.概述 就Java而言,当有人问: 什么是多态? 将重载或重写的区别解释为一个可以接受的答案? 如果您有一个抽象基类,它定义了一个没有实现的方法,并且您在子类中定义了该方法,那该方法是否仍然覆盖? ...

  8. Java 8新特性探究(二)深入解析默认方法

    转载自 Java 8新特性探究(二)深入解析默认方法 什么是默认方法,为什么要有默认方法 简单说,就是接口可以有实现方法,而且不需要实现类去实现其方法.只需在方法名前面加个default关键字即可. ...

  9. Java 8新特性——default方法(defender方法)介绍

    转载自 Java 8新特性--default方法(defender方法)介绍 我们都知道在Java语言的接口中只能定义方法名,而不能包含方法的具体实现代码.接口中定义的方法必须在接口的非抽象子类中实现 ...

最新文章

  1. BetaBot 木马分析
  2. asp.netkg117《计算机网络》教学网站的设计与实现,《计算机网络》教学网站的设计与实现 毕业论文.doc...
  3. java枚举比较大小写_Spring 3.0 MVC绑定枚举区分大小写
  4. 腾讯招.NET5,居然要求精通MySQL,而不是SQLServer!
  5. 网页设计如何排成一列_网页设计如何影响以及改善SEO?
  6. JavaScript导出图片和数据到Excel
  7. BeautifulSoup实现博文简介与过滤恶意标签(xxs攻击)
  8. C#使用Minidump导出内存快照Minidumper
  9. Unexpandable Clocks不可扩展时钟 UG903
  10. 人性观察,人类关系的基石
  11. Win10:修改电脑桌面路径
  12. 电子计算机断层扫描简称,计算机断层扫描技术(简称PET)
  13. 网站流量分析的整体思路(大数据)
  14. 1470_Linux下使用pdftk进行pdf文件的页面提取以及合并
  15. Android P指示灯调节代码逻辑
  16. 3D建模和渲染吃CPU还是显卡?专业显卡和游戏显卡的区别
  17. 在linux中DATAX和DATAX-WEB安装指引
  18. java批量删除日志文件_日志清理与文件批量删除
  19. 世界上最难的5种编程语言
  20. 高职高考数学可以用计算机吗,什么学习水平高职高考数学可以答满分

热门文章

  1. autowired 与 resources 注解的区别
  2. 构建之法第四章读后感
  3. c语言,字符串原地翻转
  4. 网络故障解决方案之非标准子网划分【网管员必懂】
  5. 邮件发送打印机更改打印机连接的通知
  6. 法尔康,你大爷的,phalcon配置大全
  7. CentOS上修改用户名
  8. mysql 游标的使用
  9. 1.1计算机系统简介
  10. (转)Java并发编程:线程池的使用