java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java方法重载与方法重写

Java核心知识点之方法重载(Overload)与方法重写(Override)详解

作者:mgw1413

在Java中方法重写(Override)和方法重载(Overload)是面向对象编程的两个核心概念,它们都体现了多态性,但在实现方式和应用场景上有本质区别,这篇文章主要介绍了Java核心知识点之方法重载(Overload)与方法重写(Override)的相关资料,需要的朋友可以参考下

前言

在 Java 面向对象编程中,方法重载方法重写是两个高频核心知识点,名字相似但功能、规则、使用场景完全不同。本文用最清晰的定义、规则、示例、对比,帮你彻底分清两者。

一、方法重载(Overload)

1. 定义

同一个类中,方法名相同,但参数列表不同的多个方法,就是方法重载。作用:让同一个方法名,能处理不同类型、不同数量的参数,使用更统一、更简洁。

2. 核心规则(必须记住)

3. 代码示例

public class Calc {
    // 两个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;
    }
}

4. 典型使用场景

二、方法重写(Override)

1. 定义

子类继承父类后,重新实现父类中已有的方法,方法声明不变,方法体改变,就是方法重写。作用:子类可以保留父类方法名,但实现自己的逻辑(运行时多态)。

2. 核心规则(必须记住)

3. 代码示例

// 父类
public class Animal {
    public void eat() {
        System.out.println("动物吃东西");
    }
}
 
// 子类
public class Dog extends Animal {
    // 重写父类方法
    @Override
    public void eat() {
        System.out.println("狗吃骨头");
    }
}

4. 典型使用场景

三、重载 vs 重写 终极对比表

对比项方法重载(Overload)方法重写(Override)
位置同一个类中父子类之间
方法名必须相同必须相同
参数列表必须不同必须相同
返回值无关必须兼容一致
权限修饰符无关不能更严格
注解不需要推荐 @Override
多态类型编译时多态运行时多态
目的统一方法名,处理不同参数子类修改父类方法逻辑

四、一句话总结

  1. 重载:同类、同名、不同参 —— 一个方法多种参数版本
  2. 重写:子类、同名、同参数 —— 子类改父类方法实现

总结

到此这篇关于Java核心知识点之方法重载(Overload)与方法重写(Override)的文章就介绍到这了,更多相关Java方法重载与方法重写内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文