函数与方法
定义
函数(方法)是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
详细说明
-
方法的基本要素:
- 访问修饰符
- 返回类型
- 方法名
- 参数列表
- 方法体
-
方法重载:
- 同名不同参
- 参数类型不同
- 参数个数不同
- 参数顺序不同
-
特殊方法:
- 构造方法
- 静态方法
- 抽象方法
- 可变参数方法
推演说明
-
方法调用流程:
- 准备参数
- 调用方法
- 执行方法体
- 返回结果
- 继续执行
-
方法重载匹配:
- 精确匹配
- 类型转换
- 自动装箱
- 可变参数
注意事项
- 方法命名要规范
- 参数数量要适中
- 避免过长方法
- 合理使用重载
- 注意方法可见性