当前位置:首页 > Java

java如何重写

2026-03-03 05:07:35Java

重写方法的基本概念

在Java中,重写(Override)是指子类重新定义父类中已有的方法,以实现特定的功能。重写的方法必须与被重写方法具有相同的方法名、参数列表和返回类型(或是其子类)。

重写的规则

  • 方法名、参数列表必须完全相同。
  • 返回类型可以是原返回类型的子类(协变返回类型)。
  • 访问修饰符不能比父类方法的访问修饰符更严格(如父类方法是protected,子类方法可以是publicprotected,但不能是private)。
  • 不能重写finalstaticprivate方法。
  • 重写方法可以抛出与父类方法相同的异常,或不抛出异常,但不能抛出更宽泛的检查异常。

示例代码

class Animal {
    public void makeSound() {
        System.out.println("Animal makes a sound");
    }
}

class Dog extends Animal {
    @Override
    public void makeSound() {
        System.out.println("Dog barks");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal myDog = new Dog();
        myDog.makeSound(); // 输出: Dog barks
    }
}

使用@Override注解

在子类方法上添加@Override注解可以帮助编译器检查是否正确地重写了父类方法。如果方法签名不匹配,编译器会报错。

协变返回类型示例

子类方法的返回类型可以是父类方法返回类型的子类。

java如何重写

class Parent {
    public Number getNumber() {
        return 10;
    }
}

class Child extends Parent {
    @Override
    public Integer getNumber() {
        return 20;
    }
}

注意事项

  • 静态方法不能被重写,但可以隐藏(通过子类定义同名静态方法)。
  • 构造函数不能重写。
  • 重写方法时,子类方法的逻辑通常应与父类方法有联系,避免完全无关的实现。

标签: 重写java
分享给朋友:

相关文章

java如何打开

java如何打开

安装Java开发环境 下载并安装Java Development Kit (JDK),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME和PATH变量正…

java如何react

java如何react

在Java中使用React 要在Java项目中集成React,通常需要将React前端与Java后端结合使用。以下是几种常见的方法: 使用Spring Boot作为后端 Spring Boot是一个…

java如何导包

java如何导包

导入包的方法 在Java中,导入包(package)可以通过import语句实现,用于引入其他类或包中的功能。以下是几种常见的导包方式: 导入单个类 import java.util.ArrayL…

java如何连接mysql

java如何连接mysql

连接 MySQL 数据库的基本步骤 添加 MySQL 驱动依赖 在项目中引入 MySQL 的 JDBC 驱动。如果使用 Maven,在 pom.xml 中添加以下依赖: <dependency…

java如何连接mysql数据库

java如何连接mysql数据库

连接 MySQL 数据库的步骤 添加 MySQL 驱动依赖 在项目中引入 MySQL 的 JDBC 驱动。如果使用 Maven,可以在 pom.xml 中添加以下依赖: <dependency…

eclipse如何创建java

eclipse如何创建java

在Eclipse中创建Java项目 打开Eclipse后,选择菜单栏中的"File" -> "New" -> "Java Project"。在弹出的对话框中输入项目名称,确保"Use de…