当前位置: 首页 > news >正文

【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) 时会导致编译错误。

相关文章:

  • yum包管理器
  • 面试中被问到mybatis与jdbc有什么区别怎么办
  • aws(学习笔记第三十九课) iot-msk-pipeline
  • 设备接入与APP(应用程序)接入华为云iotDA平台的路径元素有哪些不同?
  • ThreadLocal详解与实战指南
  • 深入浅出Sentinel:分布式系统的流量防卫兵
  • 【uniapp】vue2 搜索文字高亮显示
  • MongoDB Shard Cluster
  • 科技赋能建筑新未来:中建海龙模块化建筑产品入选中国建筑首批产业化推广产品
  • Kafka和flume整合
  • HOW - 如何模拟实现 gpt 展示答案的交互效果
  • Python判断语句-语法:if,if else,if elif else,嵌套,if else语句扁平式写法,案例
  • android jatpack Compose 多数据源依赖处理:从状态管理到精准更新的架构设计
  • kafka整合flume与DStream转换
  • #苍穹外卖# day 10-11
  • Move Registry 发布,实现 Sui 的超级互操作性
  • ubuntu22.04部署Snipe-IT
  • MYSQL 常用字符串函数 和 时间函数详解
  • 信息学奥赛一本通 1509:【例 1】Intervals | OpenJudge 百练 1201:Intervals
  • 云服务器centos 安装hadoop集群
  • 光线传媒:正与部分重点地区洽谈主题乐园合作,首款3A游戏预计三年左右推出
  • 现场观察·国防部记者会|美将举行大演习“应对中国”,备战太平洋引发关注
  • 民政部党组成员、中国老龄协会会长刘振国任民政部副部长
  • 厚植民营企业家成长土壤是民营经济高质量发展的关键
  • 停止水资源共享、驱逐武官,印度对巴基斯坦宣布多项反制措施
  • 一夜跌去200美元,黄金巨震冲上热搜!涨势已近尾声?