首页 > 编程语言 >Java构成覆盖重写的条件(图文)

Java构成覆盖重写的条件(图文)

时间:2023-02-05 11:22:05浏览次数:56  
标签:异常 Java 子类 类型 返回值 父类 重写 图文

如有不足或错误的地方,欢迎讨论指正。

目录

总结

  1. 子父类之间具有继承关系

  2. 必须保证子父类之中的方法名称、参数列表都要相同

    与方法重载相区别

  3. 子类方法的返回类型和父类的返回类型一样,或者是父类返回类型的子类。

  4. 子类方法的权限必须 大于等于 父类方法的权限。

    小扩展提示:public > protected > (default) > private
    备注:(default) 不是关键字 default,而是什么都不写,留空。

  5. 重写方法不能抛出新的异常或者比被重写方法声明的检查异常更广的检查异常。

    但是可以抛出更少,更有限或者不抛出异常。

    注意:这种限制只是针对检查异常,至于运行时异常 RuntimeException 及其子类不再这个限制之中。

注意事项:

  1. 不能重写被 final 修饰的方法
  2. 父类中被 private 修饰的方法无法被继承,更不能被重写。
  3. 构造方法不能被继承,不能被覆盖。

简单示例

1、子父类具有继承关系

在这里插入图片描述

2、子父类中方法的方法名称和参数列表要相同

在这里插入图片描述

3、返回值类型

返回值类型如果是基本类型:子类的返回值类型和父类返回值类型必须相同

在这里插入图片描述

在这里插入图片描述

返回值类型如果是引用类型:子父类返回值类型可相同,也可以是父类返回值类型的子类

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4、权限修饰符

子类的权限可以和父类一样,也可以大于父类的权限

权限范围:public > protected > (default)什么都不写 > private

在这里插入图片描述

子类权限缩小,则会报错

在这里插入图片描述

5、抛出的异常

重写方法不能抛出新的异常或者比被重写方法声明的检查异常更广的检查异常。

但是可以抛出更少,更有限或者不抛出异常。

注意:这种限制只是针对检查异常,至于运行时异常 RuntimeException 及其子类不再这个限制之中。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

标签:异常,Java,子类,类型,返回值,父类,重写,图文
From: https://www.cnblogs.com/sunzhongjie/p/17093064.html

相关文章

  • 2023.5 Java 2022趋势
    InfoQJava编辑团队做的2022年Java领域内的新型技术采用趋势如下:将所有OpenJDK的下游发行版放到一个标签中,即JavaCommunityJDK,并将它们放到早期大众阶段。这个清单......
  • java如何全局捕获异常
    提问: java在进行全局捕获异常时,总是不起作用,无法正常捕获异常,这个如此处理?具体代码如下全局捕获异常的类ExceptionHandlerAdvicepackagecom.xjc.common.handler;im......
  • 读Java实战(第二版)笔记01_Java的变化
    1. 语言的演变1.1. C和C++仍然是构建操作系统和各种嵌入式系统的流行工具1.2. Java和C#等安全型语言在诸多运行资源不太紧张的应用中已经取代了C和C++1.3. Java可......
  • javascript-cnblog
    1.原型和原型链1.1原型js中,函数可以有属性,每个函数都有一个特殊的属性叫做原型prototype(原型)1.2原型链当我们访问某个对象的属性时,如果该对象本身没有,就会到对象......
  • Forest – 开源的 Java HTTP 客户端框架
    什么是Forest?Forest是一个开源的JavaHTTP客户端框架,它能够将HTTP的所有请求信息(包括URL、Header以及Body等信息)绑定到您自定义的Interface方法上,能够通过调......
  • 如何用k8s运行、部署Java项目
    k8s的常用命令  kubectlgetingress-nprodkubectlgetdeployment-nprodkubectlgetpod-nprodkubectlgetservice-nprodkubectllogs-f-nprod......
  • 打包JavaScript的代码 (ES67891011 转为 ES5)
    NodeJS安装必要的工具包#初始化项目npminit-yes##安装babelbrowserify等包npmibabel-clibabel-preset-envbrowserify-D使用##babel转换指定文件夹下的代......
  • Java 实例 - int数组转化成List简便的方法
    如下:@Testpublicvoidtest5(){int[]array={1,2,5,5,5,5,6,6,7,2,9,2};/*int[]转list*///方法一:需要导入apacheco......
  • JavaScript学习笔记—DOM:通过属性读取样式
    读取的样式都是只读,无法修改获取元素内部的宽度和高度(包括内容区和内边距)element.clientHeightelement.clientWidth获取元素的可见框的大小(包括内容区、内边距和边框)......
  • 学习java第八天
    运算符   %=莫预算java等号是用两个等号==,不等于!=instanceof前四个必须掌握与或非重点掌握前四个ide快捷键ctrl+d复制本行到下一行package......