当前位置:首页 > Java

java如何重写

2026-04-09 02:07:16Java

Java 重写(Override)方法的基本概念

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

java如何重写

重写的规则

  • 方法名、参数列表和返回类型必须与父类方法相同。
  • 访问修饰符不能比父类方法更严格(例如父类方法是 protected,子类方法不能是 private)。
  • 不能重写 finalstatic 方法。
  • 子类方法抛出的异常不能比父类方法抛出的异常更宽泛。

示例代码

class Parent {
    public void display() {
        System.out.println("Parent's display method");
    }
}

class Child extends Parent {
    @Override
    public void display() {
        System.out.println("Child's display method");
    }
}

public class Main {
    public static void main(String[] args) {
        Parent obj = new Child();
        obj.display(); // 输出: Child's display method
    }
}

使用 @Override 注解

@Override 注解用于显式标记方法为重写的方法。虽然不是强制要求,但建议使用该注解,因为它可以帮助编译器检查重写是否正确。

java如何重写

重写与重载的区别

  • 重写(Override):子类重新定义父类方法,方法签名相同。
  • 重载(Overload):同一类中定义多个同名方法,但参数列表不同。

动态绑定

Java 通过动态绑定(运行时多态)实现方法重写。调用哪个方法取决于对象的实际类型,而不是引用类型。例如:

Parent obj = new Child();
obj.display(); // 调用的是 Child 类的 display 方法

注意事项

  • 不能重写 private 方法,因为它们在子类中不可见。
  • 构造方法不能被重写。
  • 静态方法不能被重写,但可以隐藏(重新定义)。

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

相关文章

java如何读取文件

java如何读取文件

读取文件的常用方法 Java提供了多种读取文件的方式,适用于不同场景和需求。以下是几种常见的方法: 使用FileInputStream和BufferedInputStream读取二进制文件 try…

java如何输入数组

java如何输入数组

输入数组的方法 在Java中,可以通过多种方式输入数组,具体取决于输入源(如控制台、文件等)和数组类型(如基本类型或对象类型)。以下是几种常见的方法: 使用Scanner从控制台输入 对于基本数据类…

java如何导包

java如何导包

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

java如何处理高并发

java如何处理高并发

Java处理高并发的方法 使用多线程和线程池 Java的java.util.concurrent包提供了线程池(如ThreadPoolExecutor)和并发工具类(如CountDownLatch、C…

vue实现java登录注册

vue实现java登录注册

实现 Vue 与 Java 后端的登录注册功能 前端 Vue 部分 安装必要的依赖(如 axios 用于 HTTP 请求): npm install axios 创建登录表单组件(Login.vue…

java 实现 php ord

java 实现 php ord

Java 实现 PHP 的 ord 函数 PHP 的 ord 函数用于获取字符串中第一个字符的 ASCII 值。在 Java 中,可以通过类型转换或直接使用字符的 Unicode 值实现类似功能。…