我是靠谱客的博主 暴躁大白,最近开发中收集的这篇文章主要介绍Java构成覆盖重写的条件(图文),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

总结

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

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

    与方法重载相区别

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

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

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

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

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

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

注意事项:

  1. 不能重写被 final 修饰的方法
  2. 父类中被 private 修饰的方法无法被继承,更不能被重写。
  3. 构造方法不能被继承,不能被覆盖。
  4. 子类不能重写父类的静态方法,如果重写会报错的(方法前添加 @Override 注解)。

简单示例

1、子父类具有继承关系

在这里插入图片描述

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

在这里插入图片描述

3、返回值类型

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4、权限修饰符

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

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

在这里插入图片描述

子类权限缩小,则会报错

在这里插入图片描述

5、抛出的异常

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

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

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

最后

以上就是暴躁大白为你收集整理的Java构成覆盖重写的条件(图文)的全部内容,希望文章能够帮你解决Java构成覆盖重写的条件(图文)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部