java 方法重写概念_java名词解释方法重写-程序员宅基地

技术标签: java  重写  

重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!

重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。

重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。例如: 父类的一个方法申明了一个检查异常 IOException,但是在重写这个方法的时候不能抛出 Exception 异常,因为 Exception 是 IOException 的父类,只能抛出 IOException 的子类异常。

方法的重写规则

  • 参数列表与被重写方法的参数列表必须完全相同。

  • 返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类(java5 及更早版本返回类型要一样,java7 及更高版本可以不同)。

  • 访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方法被声明为 public,那么在子类中重写该方法就不能声明为 protected。

  • 父类的成员方法只能被它的子类重写。

  • 声明为 final 的方法不能被重写。

  • 声明为 static 的方法不能被重写,但是能够被再次声明。子类中声明为static也不可以。

  • 子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为 private 和 final 的方法。

  • 子类和父类不在同一个包中,那么子类只能够重写父类的声明为 public 和 protected 的非 final 方法。

  • 重写的方法能够抛出任何非强制异常,无论被重写的方法是否抛出异常。但是,重写的方法不能抛出新的强制性异常,或者比被重写方法声明的更广泛的强制性异常,反之则可以。

  • 构造方法不能被重写。

  • 如果不能继承一个类,则不能重写该类的方法,也就是说,重写只发生于继承中。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/HandsomeHong/article/details/110298676

智能推荐

【转】GitLab 7.2.1 升级到 7.14.3 过程中遇到的坑_gitlab gc-程序员宅基地

文章浏览阅读281次。转自:http://dockone.io/article/8413GitLab 7.2.1 升级到 7.14.3 过程中遇到的坑【背景】在此次升级之前,我们线上的 GitLab 7.2.1 版本已经跑了3年之久,其中结合我们自己的 CI/CD 流程添加了一些自定义的 feature,整个 CI/CD 流程运行的也十分顺畅。不过随着微服务、Docker、Kubernetes、Servic..._gitlab gc

mysql expdp gtid_ORACLE 12C可以通过expdp导出view数据-程序员宅基地

文章浏览阅读315次。有时候,多么的希望ORACLE能够导出某个视图中的数据,然后通过这个视图来迁移需要的数据,现在ORACLE 12C通过expdp的views_as_tables来实现了该功能,把视图当作一个普通表从而导出数据,导入的时候直接和一个正常表一样,通过视图的导出,表的导入来实现相关需求准备测试环境SQL> SELECT * FROM V$VERSION;BANNER ..._oracle expdp导出数据视图

51nod 1450 闯关游戏_51nod1450闯关游戏-程序员宅基地

文章浏览阅读694次。期望DP+思路_51nod1450闯关游戏

java计算机毕业设计高校防疫物资管理系统MyBatis+系统+LW文档+源码+调试部署-程序员宅基地

文章浏览阅读660次。java计算机毕业设计高校防疫物资管理系统MyBatis+系统+LW文档+源码+调试部署。springboot基于微服务架构的图书借阅系统的设计与实现。ssm基于大数据在线考试系统在线阅卷系统及大数据统计分析。jsp网上花卉销售系统的设计与实现sqlserver。springboot基于VUE的个人记账管理系统。ssm基于SSM的线上家庭医生系统的设计与实现。ssm基于vue的健康餐饮管理系统的设计与实现。ssm疫情背景下基于web的学生信息日报系统。ssm基于用户行为的自动化书籍推荐系统。

解决PYTHON爬取:RESPONSE.STATUS_CODE为418、403 问题_python r.status_code 403-程序员宅基地

文章浏览阅读4k次,点赞4次,收藏15次。问题1:初步解决响应状态418python爬取豆瓣网站电影:url = ‘https://movie.douban.com/?start=0&filter=’import requestsurl = 'https://movie.douban.com/top250?start=0&filter='res =requests.get(url)print(res.status_code)响应状态:418正常返回状态应该是 200问题解决参考链接: req_python r.status_code 403

6、JVM-JVM调优工具与实战-程序员宅基地

文章浏览阅读1.1k次,点赞28次,收藏26次。JVM调优

随便推点

说明生活中遇到的二叉树,用java实现二叉树_说明生活中遇到的二叉树,用 java 实现二叉树-程序员宅基地

文章浏览阅读480次。这是组合设计模式。我有很多个(假设10万个)数据要保存起来,以后还需要从保存的这些数据中检索是否存在某个数据,(我想说出二叉树的好处,该怎么说呢?那就是说别人的缺点),假如存在数组中,那么,碰巧要找的数字位于99999那个地方,那查找的速度将很慢,因为要从第1个依次往后取,取出来后进行比较。平衡二叉树(构建平衡二叉树需要先排序,我们这里就不作考虑了)可以很好地解决这个问题,但二叉树的遍历(前序,中序,后序)效率要比数组低很多,原理如下图:..._说明生活中遇到的二叉树,用 java 实现二叉树

【计算机网络】TCP / IP 四层协议_tcp/ip协议包含哪几层-程序员宅基地

文章浏览阅读3.5w次,点赞24次,收藏170次。TCP / IP 是一个四层的体系结构,它从上至下包含应用层、运输层、网际层(强调本层可解决不同网络的互连问题)、网络接口层,在学习时,可结合OSI 和 TCP / IP 的特点,采用一种仅有五层的体系结构。_tcp/ip协议包含哪几层

前端七十二变之Vue.js库使用_把vue当做库使用-程序员宅基地

文章浏览阅读214次。1.vue.js简介Vue.js读音 /vjuː/, 类似于 viewVue.js是前端三大新框架:Angular.js、React.js、Vue.js之一,Vue.js目前的使用和关注程度在三大框架中稍微胜出,并且它的热度还在递增。Vue.js可以作为一个js库来使用,也可以用它全套的工具来构建系统界面,这些可以根据项目的需要灵活选择,所以说,Vue.js是一套构建用户界面的渐进式框架。..._把vue当做库使用

python+selenium自动填写提交电子表单_dd data-value-程序员宅基地

文章浏览阅读5.6k次,点赞8次,收藏79次。python+selenium自动填写提交电子表单前两天看到空间里面有人发 问卷星 调查,就想到能不能用 python 和 网页交互 , 自动 填写 电子表单 ,结果还真有,就尝试了一下,有些还没搞清楚,先大概介绍一下,慢慢来吧。首先,安装 selenium ,这个很简单,进入控制台(win+R,输入cmd,回车),输入pip install selenium很快就安装完成了。然..._dd data-value

04线程池完整的头文件和实现文件(.c)_线程池 头文件-程序员宅基地

文章浏览阅读522次。04线程池完整的头文件和实现文件(.c)前提:这里的线程池是基于Linux下C的实现,且在任务的回调函数中只是模拟工作,具体业务需要自己根据实际编写。这里可以举个例子,当客户端请求过来,我们可以将建立好的通信套接字通过任务的void* arg传进来,这样我们就可以在子线程中与客户端进行交互,极大的减少服务器主线程的工作压力。1 头文件#ifndef __THREADPOOL_H_#define __THREADPOOL_H_typedef struct threadpool_t threadpo_线程池 头文件

Linux下的WEB服务器的搭建实战_linux搭建web服务器-程序员宅基地

文章浏览阅读1.9w次,点赞43次,收藏332次。Linux下的web服务器搭建详细过程每次搭建一个服务器之前,比如MySQL、DNS、WEB等首先要挂载磁盘目录文件挂载就是当要使用某个设备时(例如光盘或软盘),必须先将它们对应放到 Linux 系统中的某个目录上。其中对应的目录就叫作挂载点。只有经过操作之后,用户或程序才能访问到这些设备。这个操作过程就叫作文件系统的挂载。这里/dev/sr0是软盘,/mnt/cdrom是挂载点[root@wry139 ~]# mount /dev/sr0 /mnt/cdrom/mount: /dev/sr0 写保_linux搭建web服务器

推荐文章

热门文章

相关标签