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. 方法重载的关键是 "同名不同参"(参数个数 / 类型 / 顺序不同),和返回值无关,能简化方法调用。
相关推荐
user_lwl8 分钟前
Oracle 数据库备份还原工具
后端
lczllx17 分钟前
从 TCP 90μs 到 SHM 28μs:我的 RPC 框架零拷贝优化历程
linux·后端
IT_陈寒21 分钟前
Python线程池把我坑惨了,这些盲区你不踩?
前端·人工智能·后端
mONESY25 分钟前
从 DeepSeek WebGPU 输入框,吃透 React+TS 四大核心开发实践
javascript·后端
程序员爱钓鱼37 分钟前
Rust HashMap 详解:键值存储、查询、更新与统计
后端·面试·rust
程序员爱钓鱼1 小时前
第一个 Go 程序:Hello World
前端·后端·go
阳光是sunny1 小时前
LangGraph 核心概念详解:从编译到可视化
前端·人工智能·后端
zhangjw341 小时前
第35篇:Spring Boot入门:自动配置+快速搭建,简化企业开发
java·spring boot·后端
geovindu1 小时前
java: Backtracking Algorithm
java·开发语言·windows·后端·算法·回溯算法
lazy H2 小时前
从入门到日常开发,一篇文章掌握 Git 核心操作
git·后端·学习·github