跳转至

函数与方法

定义

函数(方法)是Java中用于封装特定功能的一段代码,可以接收参数并返回结果,是程序的基本构建块。

作用

函数与方法在实际开发中具有以下重要价值: 1. 代码复用:避免重复编写相同代码 2. 模块化:将复杂问题分解为小模块 3. 封装性:隐藏实现细节 4. 可维护性:便于修改和调试 5. 可测试性:便于单元测试

图表说明

方法调用流程

graph TD
    A[开始] --> B[准备参数]
    B --> C[调用方法]
    C --> D[执行方法体]
    D --> E{是否有返回值?}
    E -->|是| F[返回结果]
    E -->|否| G[继续执行]
    F --> G
    G --> H[结束]

方法重载

graph TD
    A[方法名] --> B[参数类型不同]
    A --> C[参数个数不同]
    A --> D[参数顺序不同]
    B --> E[不同方法]
    C --> E
    D --> E

例子

public class MethodDemo {
    public static void main(String[] args) {
        // 基本方法调用
        System.out.println("基本方法调用:");
        int sum = add(5, 3);
        System.out.println("5 + 3 = " + sum);

        // 方法重载示例
        System.out.println("\n方法重载示例:");
        System.out.println("两个整数相加: " + add(5, 3));
        System.out.println("三个整数相加: " + add(5, 3, 2));
        System.out.println("两个浮点数相加: " + add(5.5, 3.3));

        // 可变参数示例
        System.out.println("\n可变参数示例:");
        System.out.println("多个整数相加: " + sum(1, 2, 3, 4, 5));

        // 递归方法示例
        System.out.println("\n递归方法示例:");
        System.out.println("5的阶乘: " + factorial(5));
    }

    // 基本方法
    public static int add(int a, int b) {
        return a + b;
    }

    // 方法重载:参数个数不同
    public static int add(int a, int b, int c) {
        return a + b + c;
    }

    // 方法重载:参数类型不同
    public static double add(double a, double b) {
        return a + b;
    }

    // 可变参数方法
    public static int sum(int... numbers) {
        int total = 0;
        for (int num : numbers) {
            total += num;
        }
        return total;
    }

    // 递归方法
    public static int factorial(int n) {
        if (n == 0 || n == 1) {
            return 1;
        }
        return n * factorial(n - 1);
    }
}

执行结果

基本方法调用:
5 + 3 = 8

方法重载示例:
两个整数相加: 8
三个整数相加: 10
两个浮点数相加: 8.8

可变参数示例:
多个整数相加: 15

递归方法示例:
5的阶乘: 120

详细说明

  1. 方法的基本要素:

    • 访问修饰符
    • 返回类型
    • 方法名
    • 参数列表
    • 方法体
  2. 方法重载:

    • 同名不同参
    • 参数类型不同
    • 参数个数不同
    • 参数顺序不同
  3. 特殊方法:

    • 构造方法
    • 静态方法
    • 抽象方法
    • 可变参数方法

推演说明

  1. 方法调用流程:

    • 准备参数
    • 调用方法
    • 执行方法体
    • 返回结果
    • 继续执行
  2. 方法重载匹配:

    • 精确匹配
    • 类型转换
    • 自动装箱
    • 可变参数

注意事项

  1. 方法命名要规范
  2. 参数数量要适中
  3. 避免过长方法
  4. 合理使用重载
  5. 注意方法可见性