Java 重写时应当遵守的 11 条规则

yizhihongxing

下面是关于“Java 重写时应当遵守的 11 条规则”的详细讲解攻略。

概述

当我们在Java中使用继承时,重写父类中的方法是常见的操作。但是,如果我们不遵守适当的规则,就会出现问题。这些问题包括出错、程序崩溃以及不正确的行为。为了规避这些问题,以下是重写Java方法时应该遵守的11条规则。

11条规则

1. 参数列表必须完全一致

重写时必须与父类完全匹配的一个要求是参数列表必须相同,包括参数类型和参数顺序。

2. 返回类型必须相同

重写方法的返回类型必须与被重写方法的返回类型完全匹配。但是,可以使用子类对象覆盖原始类型。例如:

public class A {
   public Object getSomething() {
      return null;
   }
}

public class B extends A {
   @Override
   public String getSomething() {
      return "something!";
   }
}

3. 访问修饰符不得弱于被重写方法

重写方法的访问修饰符不能比被重写方法的更加严格。例如,如果被重写方法是public,那么重写的方法也必须是public。

4. 实例方法不能重写为静态方法

静态方法不能被重写为实例方法。

5. 静态方法不能被重写为实例方法

实例方法不能被重写为静态方法。

6. final方法不能被重写

final方法不能被重写。

7. private方法不能被重写

private方法不能被重写,因为它们是只能在类内部使用的。

8. 抛出的异常不能超过被重写方法的异常

重写方法不能抛出被重写方法未声明的异常或者超过被重写方法所声明的异常。例如:

public class A {
   public void foo() throws IOException {}
}

public class B extends A {
   // 这里的异常类型必须是 IOException,而不能是 Exception
   @Override
   public void foo() throws IOException {}
}

9. 默认访问级别不能降低

进行重写时,访问级别不能降低。例如,如果父类中的方法是default级别,那么子类中该方法也必须是default级别。

10. 函数名、参数顺序、参数类型必须完全一致

在重写方法时,必须确保函数名、参数顺序和参数类型与被重写方法完全相同。

11. 重写的方法不能缩小访问权限

重写的方法不能缩小访问权限。例如,如果被重写的方法是public,那么重写的方法也必须是public。

示例说明

例子1

下面是一个例子,演示了如何遵守Java重写规则:

public class A {
    public void doSomething() {}
}

public class B extends A {
    @Override
    public void doSomething() {}
}

在这个例子中,doSomething方法下的所有重写规则都得到了遵守。

例子2

下面是一个例子,演示了违反Java重写规则的情况:

public class A {
    public void doSomething() {}
}

public class B extends A {
     // 缺少@Override注解
    public void dosomething() {}
}

在这个例子中,因为缺少了@Override注解,所以并没有真正重写doSomething方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java 重写时应当遵守的 11 条规则 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • proe配置文件config怎么设置?

    ProE配置文件config怎么设置? 在ProE中,config文件是用来配置软件的一些参数和选项的,可以根据需要来定制化软件,以达到更好的使用体验和效率。 一、config文件的位置 在Windows环境下,config文件的默认位置一般为:C:\Program Files\PTC\Creo {版本号}\Param\Config\pro\config.p…

    other 2023年6月25日
    00
  • Python使用淘宝API查询IP归属地功能分享

    Python使用淘宝API查询IP归属地功能分享 在Python中,我们可以使用淘宝API来查询IP的归属地信息。下面是一个详细的攻略,包含了使用示例。 步骤一:获取淘宝API的访问权限 首先,我们需要获取淘宝API的访问权限。请按照以下步骤进行操作: 在淘宝开放平台(https://open.taobao.com/)上注册一个账号。 创建一个新的应用,选择…

    other 2023年7月31日
    00
  • gcc是什么 gcc编译器怎么用

    GCC是什么 GCC(GNU Compiler Collection)是一套由GNU编写的编程语言编译器,支持C、C++、Objective-C、Fortran、Ada、和其他一些语言。GCC是自由软件,可在许多操作系统上使用,包括Linux、UNIX、MacOS和Windows。 GCC编译器怎么用 GCC是命令行工具,可以通过终端或命令提示符编译代码。以…

    other 2023年6月26日
    00
  • mysqldump下载

    以下是关于如何使用mysqldump下载MySQL数据库的详细攻略: 步骤一:安装MySQL 在使用mysqldump下载MySQL数据库之前,您需要先安装MySQL。您可以从MySQL官网下载MySQL安装程序按照安装程序的指示进行安装。 步骤二:打开命令行 在Windows上,您可以按下Win+R键打开行对话框,后输入“cmd”并按下Enter键打开命令…

    other 2023年5月7日
    00
  • win7右键菜单找不到新建BMP图像的快捷方式怎么办?

    当你在Win7系统中右键菜单找不到新建BMP图像的快捷方式时,可以按照以下步骤排查和解决: 检查注册表是否有异常 Win7中菜单的显示是通过注册表来配置的。如果菜单条目不存在于注册表中,就不会显示在右键菜单中。 首先,打开注册表编辑器:Win+R键打开“运行”窗口,输入“regedit”,按回车键。 然后,进入注册表路径:HKEY_CLASSES_ROOT.…

    other 2023年6月27日
    00
  • ibmappscan基本操作手册

    IBM AppScan 基本操作手册 IBM AppScan是一款用于Web应用程序安全性检测的工具。其通过模拟攻击方法和技术,对Web应用程序进行扫描并报告潜在的安全漏洞。本文将介绍IBM AppScan的基本操作步骤。 下载 IBM AppScan 首先,从IBM官网下载并安装IBM AppScan。安装完成后,打开IBM AppScan。 创建新扫描 …

    其他 2023年3月29日
    00
  • Win10系统桌面图标布局很乱的四种解决方法

    以下是“Win10系统桌面图标布局很乱的四种解决方法”的详细攻略: 一、手动调整图标位置 通常情况下,Win10系统桌面图标布局不是很整齐,可以通过手动调整图标位置实现布局的规整。具体操作步骤如下: 鼠标右键点击桌面空白处,选择“查看”,勾选“对齐图标到网格”。 鼠标左键点击要移动的图标,不松开鼠标,将图标拖拽到目标位置即可。 需要注意的是,手动调整图标位置…

    other 2023年6月26日
    00
  • 关于延迟加载JavaScript

    当页面中包含大量的JavaScript代码时,加载速度会受到影响,从而导致用户体验下降。针对这个问题,我们可以使用延迟加载JavaScript的方案,以提高页面加载速度。 以下是实现延迟加载JavaScript的完整攻略: 第一步:将JavaScript标记为异步 将JavaScript代码中的<script>标记添加属性async=”true”…

    other 2023年6月25日
    00
合作推广
合作推广
分享本页
返回顶部