Java 方法与方法重载

一、方法核心知识点

1. 方法的本质

方法就是一段封装好的、能完成特定功能的代码片段,核心作用是提高代码复用性(写一次能多次调用)、让代码结构更清晰。大白话:把 "求和、求最大值、打印内容" 这类重复做的事,打包成一个 "工具",要用时直接调这个工具就行。

2. 方法的完整格式

java

运行

kotlin 复制代码
[修饰符] 返回值类型 方法名(形式参数列表) {
    // 方法体:具体实现功能的代码
    return 返回值; // 无返回值时不用写,或只写return;
}

各部分大白话解释:

表格

组成部分 说明
修饰符 比如 public static,控制方法的访问权限和调用方式(新手先记 static 即可)
返回值类型 方法执行完是否要返回结果:✅ 要返回:写结果类型(int/String 等)❌ 不返回:写 void
方法名 给方法起名字,见名知意(比如求和叫 add、打印叫 print)
形式参数列表 方法执行需要的 "原材料",格式:类型1 参数名1, 类型2 参数名2(可空)
方法体 大括号里的代码,是方法具体要做的事
return 把结果返回给调用者;无返回值时,return; 可用来提前结束方法

3. 方法的调用

  • 静态方法(带static):直接写 方法名(实际参数) 调用(实际参数要和形参匹配);
  • 非静态方法(无static):先创建对象,再用 对象名.方法名(实际参数) 调用(新手先重点记静态方法)。

调用示例(求和方法)

java

运行

csharp 复制代码
public class TestMethod {
    // 定义静态求和方法
    public static int add(int num1, int num2) {
        return num1 + num2;
    }

    public static void main(String[] args) {
        // 调用方法:传真实参数,接收返回值
        int result1 = add(10, 20);
        System.out.println(result1); // 输出30
        
        // 直接调用并打印结果
        System.out.println(add(30, 50)); // 输出80
    }
}

二、方法重载(Overload)

1. 重载的定义

同一个类中 ,方法名完全相同,但形式参数列表不同(满足其一即可):

  • 参数个数不同(比如add(int a)add(int a, int b));
  • 参数类型不同(比如add(int a, int b)add(double a, double b));
  • 参数顺序不同(比如add(int a, double b)add(double a, int b))。

2. 重载的核心规则

  • ✅ 必须满足:方法名相同 + 形参列表不同;
  • ❌ 和返回值类型无关(比如int add()void add() 不算重载,会报错);
  • ❌ 和参数名无关(比如add(int a)add(int b) 不算重载)。

重载示例(不同参数的求和方法)

java

运行

csharp 复制代码
public class TestOverload {
    // 1. 两个int求和
    public static int add(int a, int b) {
        return a + b;
    }

    // 2. 三个int求和(参数个数不同)
    public static int add(int a, int b, int c) {
        return a + b + c;
    }

    // 3. 两个double求和(参数类型不同)
    public static double add(double a, double b) {
        return a + b;
    }

    public static void main(String[] args) {
        System.out.println(add(10, 20));      // 调用第一个方法,输出30
        System.out.println(add(10, 20, 30));  // 调用第二个方法,输出60
        System.out.println(add(1.5, 2.5));    // 调用第三个方法,输出4.0
    }
}

3. 重载的好处

调用方法时不用记多个方法名,只需要记一个核心名字,编译器会根据传入的参数自动匹配对应的方法。大白话:比如求和都叫add,传两个整数就调整数求和的add,传两个小数就调小数求和的add,不用记addIntaddDouble这些名字。

三、总结

  1. 方法是 "功能代码包",核心作用是复用代码,格式要记住 "修饰符 + 返回值 + 方法名 + 参数 + 方法体";
  2. 方法调用时,实际参数要和形式参数的个数、类型匹配;
  3. 方法重载的关键是 "同名不同参"(参数个数 / 类型 / 顺序不同),和返回值无关,能简化方法调用。
相关推荐
Nyarlathotep01132 小时前
LinkedList源码分析
java·后端
小林coding3 小时前
专为程序员打造的简历模版来啦!覆盖前端、后端、测开、大模型等专业简历
前端·后端
UrbanJazzerati3 小时前
当网页翻页时,页码藏在哪里?——一次对分页机制的解密之旅
后端·面试
用户4490412095563 小时前
一次生产环境下的Redis连接耗尽问题排查与解决全过程
后端
Tapir3 小时前
被 Karpathy 下场推荐的 NanoClaw 是什么来头
前端·后端·github
ssshooter4 小时前
Tauri 项目实践:客户端与 Web 端的授权登录实现方案
前端·后端·rust
代码搬运媛4 小时前
Go 语言通道 (Channel) 深度用法讲解及实战
后端·go
程序员爱钓鱼5 小时前
Go生成唯一ID的标准方案:github.com/google/uuid使用详解
后端·google·go
Moment5 小时前
MinIO已死,MinIO万岁
前端·后端·github