当前位置:首页 > Java

java类如何重写

2026-03-22 03:51:05Java

重写 Java 类的方法

在 Java 中,重写(Override)是指子类重新定义父类中已有的方法,以实现特定的功能。重写方法必须遵循一定的规则,确保方法的签名与父类方法一致。

方法签名一致

子类重写的方法必须与父类方法的名称、参数列表和返回类型完全相同。返回类型可以是父类方法返回类型的子类(协变返回类型)。

java类如何重写

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

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

访问修饰符不能更严格

子类重写方法的访问修饰符不能比父类方法的访问修饰符更严格。例如,父类方法是 protected,子类方法可以是 protectedpublic,但不能是 private

java类如何重写

class Parent {
    protected void show() {
        System.out.println("Parent's show");
    }
}

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

异常处理限制

子类重写方法不能抛出比父类方法更多的检查异常(checked exceptions),但可以不抛出异常或抛出运行时异常(unchecked exceptions)。

class Parent {
    void method() throws IOException {
        // some code
    }
}

class Child extends Parent {
    @Override
    void method() throws FileNotFoundException { // FileNotFoundException 是 IOException 的子类
        // some code
    }
}

使用 @Override 注解

推荐在重写方法上使用 @Override 注解,这样编译器会检查该方法是否正确地重写了父类方法。如果方法签名不一致,编译器会报错。

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

注意事项

  • 静态方法不能被重写,因为静态方法属于类级别,而非实例级别。
  • 私有方法(private)不能被重写,因为私有方法对子类不可见。
  • final 方法不能被重写,final 关键字禁止方法被覆盖。

通过遵循上述规则,可以确保 Java 类的重写行为正确且符合面向对象的设计原则。

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

相关文章

java如何调用接口

java如何调用接口

调用接口的基本方法 在Java中调用接口通常涉及实现接口或使用接口引用对象。以下是几种常见场景的示例: 定义接口 public interface MyInterface { void d…

如何配置java环境

如何配置java环境

下载JDK安装包 访问Oracle官网或OpenJDK官网,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。下载完成后,运行安装程序并按照提示完成安装。 设置环境变量 右键…

如何卸载java

如何卸载java

卸载Java的步骤 Windows系统卸载方法 打开控制面板,选择“程序和功能”或“卸载程序”。在列表中找到Java相关条目(如“Java 8 Update 251”),右键选择卸载并跟随向导完成操…

java如何上传文件

java如何上传文件

使用HttpURLConnection上传文件 在Java中,可以通过HttpURLConnection实现文件上传功能。需要设置请求头为multipart/form-data,并构建包含文件数据的请…

java如何删除文件

java如何删除文件

删除文件的基本方法 使用 java.io.File 类的 delete() 方法可以删除文件。如果文件存在且删除成功,返回 true;否则返回 false。 import java.io…

java如何配置环境变量

java如何配置环境变量

配置Java环境变量的方法 下载并安装JDK 从Oracle官网或OpenJDK下载适合操作系统的JDK安装包。运行安装程序并按照提示完成安装,记下JDK的安装路径(例如C:\Program File…