当前位置:首页 > Java

java重写后如何使用

2026-03-18 20:46:35Java

重写方法的基本概念

在Java中,重写(Override)是指子类重新定义父类中已有的方法,以改变或扩展该方法的行为。重写的方法必须与父类方法具有相同的名称、返回类型和参数列表。

重写方法的规则

方法重写必须遵循以下规则:

  • 方法名、参数列表和返回类型必须与父类方法完全一致。
  • 访问修饰符不能比父类方法更严格(例如,父类方法是protected,子类方法可以是publicprotected,但不能是private)。
  • 子类方法抛出的异常不能比父类方法抛出的异常更宽泛。

如何使用重写方法

定义父类和子类

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 parent = new Parent();
        parent.display(); // 输出: Parent's display method

        Child child = new Child();
        child.display(); // 输出: Child's display method

        Parent polymorphicChild = new Child();
        polymorphicChild.display(); // 输出: Child's display method
    }
}

使用super关键字调用父类方法

在子类中,可以通过super关键字调用父类中被重写的方法。

java重写后如何使用

class Child extends Parent {
    @Override
    public void display() {
        super.display(); // 调用父类的display方法
        System.out.println("Child's display method");
    }
}

重写方法的实际应用场景

  • 多态性:通过重写方法,可以在运行时根据对象的实际类型调用相应的方法,实现多态。
  • 扩展功能:子类可以在父类方法的基础上添加新的功能或修改原有功能。
  • 接口实现:实现接口时,必须重写接口中定义的所有方法。

注意事项

  • 使用@Override注解可以确保方法确实是重写了父类的方法,如果方法签名不匹配,编译器会报错。
  • 静态方法不能被重写,只能被隐藏。
  • 构造方法不能被重写。
  • 私有方法不能被重写,因为它们在子类中不可见。

分享给朋友:

相关文章

react路由如何使用

react路由如何使用

React 路由的基本使用 React 路由通常通过 react-router-dom 库实现,用于管理单页面应用(SPA)中的页面导航。 安装 react-router-dom: npm ins…

hashrouter如何使用react

hashrouter如何使用react

使用 HashRouter 在 React 中的方法 安装 react-router-dom 确保项目中已安装 react-router-dom,若未安装,可通过以下命令安装: npm inst…

react 如何使用canvas

react 如何使用canvas

使用 Canvas 在 React 中的方法 基本用法 在 React 中使用 canvas 需要通过 useRef 或 createRef 获取 DOM 节点。以下是一个简单的示例: im…

react如何使用echarts

react如何使用echarts

安装 ECharts 和 React 适配库 在 React 项目中使用 ECharts 需要安装 ECharts 核心库及其 React 适配库。通过 npm 或 yarn 安装: npm ins…

react如何使用link

react如何使用link

使用 Link 组件进行页面导航 在 React 中,Link 是 react-router-dom 提供的组件,用于在单页应用(SPA)中实现客户端路由导航,避免页面刷新。 安装 react-…

react如何使用mobx

react如何使用mobx

使用 MobX 在 React 项目中 在 React 项目中集成 MobX 需要安装必要的依赖包并配置 Store 和组件。以下是详细步骤: 安装依赖 确保项目中已安装 mobx 和 mobx-r…