欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 培训 > 【Java学习日记26】:方法的重载

【Java学习日记26】:方法的重载

2025/12/17 13:39:45 来源:https://blog.csdn.net/2502_91001641/article/details/147520752  浏览:    关键词:【Java学习日记26】:方法的重载

一、方法重载核心概念

方法重载(Overload):指在同一个类中定义多个同名方法,但这些方法的参数列表必须不同。重载的目的是让同一功能的方法能处理不同类型或数量的参数,提高代码复用性。


二、判断是否构成重载的规则

满足以下任意一个条件即构成重载:

  1. 参数类型不同

    void show(int a) {}
    void show(double a) {}
  2. 参数个数不同

    void print() {}
    void print(String s) {}
  3. 参数顺序不同(类型必须不同才有效)

    void test(int a, String b) {}
    void test(String b, int a) {}

不构成重载的情况

  • 仅返回值类型不同

    int getSum() { return 1; }
    double getSum() { return 1.0; } // 编译报错!
  • 仅参数名称不同

    void func(String name) {}
    void func(String address) {} // 编译报错!

三、定义重载方法的步骤

  1. 明确功能目的:所有重载方法需实现相同核心功能(如“加法”)。

  2. 统一方法名:使用相同的名称表示相同功能。

  3. 设计参数差异:通过参数类型、个数或顺序区分方法。


四、代码示例

java

复制

下载

public class Calculator {// 整数加法public int add(int a, int b) {return a + b;}// 小数加法(参数类型不同)public double add(double a, double b) {return a + b;}// 三数加法(参数个数不同)public int add(int a, int b, int c) {return a + b + c;}// 参数顺序不同(类型不同)public String join(String s, int n) {return s + n;}public String join(int n, String s) {return n + s;}
}

五、注意事项

  1. 可变参数与数组int... 和 int[] 视为相同参数类型,不能重载。

  2. 自动类型转换:调用时会匹配最精确的参数类型,如 add(2,3) 优先调用 add(int, int) 而非 add(double, double)

  3. 避免歧义设计:如 test(int, double) 和 test(double, int) 在调用 test(5,5) 时会导致编译错误。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词