Java 重要知识点精讲:方法重载与方法重写

布伽蒽 2026-04-29 20:54:24

方法重载(Overload)和方法重写(Override)是 Java 面向对象编程中多态特性的两种重要体现,也是面试、代码设计中最基础也最容易混淆的知识点。清晰区分二者,能让程序结构更简洁、扩展性更强。

一、方法重载(Overload)

方法重载指同一个类中,方法名相同,但参数列表不同的多个方法。
编译器会根据传入参数的类型、个数、顺序自动匹配对应的方法。

重载的核心规则

1. 方法名必须完全相同

2. 参数列表必须不同

◦ 参数个数不同

◦ 参数类型不同

◦ 参数顺序不同

3. 返回值类型、修饰符不影响重载
仅返回值不同不能构成重载

4. 发生在同一个类中

示例
public class MathUtil {
    // 两个 int 相加
    public int add(int a, int b) {
        return a + b;
    }

    // 三个 int 相加 → 个数不同
    public int add(int a, int b, int c) {
        return a + b + c;
    }

    // double 类型相加 → 类型不同
    public double add(double a, double b) {
        return a + b;
    }
}
重载的意义

• 统一方法命名,提高可读性

• 一套功能多种参数形式,使用更方便

• 典型应用:System.out.println() 可输出任意类型
二、方法重写(Override)

方法重写是子类继承父类后,重新实现父类中已有的方法,以满足子类自身逻辑。
也叫方法覆盖。

重写的核心规则

1. 方法名、参数列表、返回值类型必须完全一致

2. 子类方法不能缩小父类方法的访问权限
父类 public → 子类只能 public
父类 protected → 子类可 protected 或 public

3. 子类不能抛出比父类更大的异常

4. 必须有继承关系

5. 父类的 static、final、private 方法不能被重写

示例
class Animal {
    public void eat() {
        System.out.println("动物吃东西");
    }
}

class Dog extends Animal {
    // 重写父类方法
    @Override
    public void eat() {
        System.out.println("狗吃骨头");
    }
}
@Override 注解用于检查重写是否规范。
三、方法重载 vs 方法重写(核心对比表)
对比项 方法重载 Overload 方法重写 Override 
位置 同一个类内部 子类继承父类 
方法名 相同 相同 
参数列表 必须不同 必须完全相同 
返回值 不影响重载 必须相同 
访问权限 无限制 子类不能更严格 
异常 无限制 不能抛出更大异常 
作用 方便调用,统一命名 子类扩展或修改父类逻辑 

四、多态中的体现

• 重载:编译时多态(静态绑定)
编译器在编译阶段就确定调用哪个方法

• 重写:运行时多态(动态绑定)
程序运行时根据对象实际类型决定调用哪个方法
Animal animal = new Dog();
animal.eat(); // 运行时执行 Dog 的 eat() → 重写体现
五、实际开发意义

1. 方法重载

◦ 工具类统一接口设计

◦ 构造方法重载

◦ 提高代码可读性与易用性

2. 方法重写

◦ 实现子类个性化逻辑

◦ 框架扩展核心方式

◦ 多态编程基础,提高代码可扩展性
六、总结

方法重载是同类中同名方法的不同参数形式,侧重“方便使用”;
方法重写是子类对父类方法的重新实现,侧重“扩展逻辑”。

二者共同支撑 Java 的多态特性,是面向对象设计的基础,也是判断 Java 基础是否扎实的典型考点。

...全文
27 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

151

社区成员

发帖
与我相关
我的任务
社区描述
这里专为新疆政法学院的探索者而建,英雄不问出处。起跑线是起点,热忱与坚持为加速器,无论bug缠身的项目,还是攻克的算法顿悟,每滴汗水皆被珍藏。执炬前行,终将照亮彼此峰顶,我们携手同行。
课程设计笔记经验分享 高校 新疆·图木舒克市
社区管理员
  • 雲中203
  • SHAO060706
  • 三叶草.
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

英雄不问出处

试试用AI创作助手写篇文章吧