把问题拆解为若干子步骤,用方法(函数)组织代码,实现复用与模块化。Java 中方法必须定义在类内部。
修饰符 返回类型 方法名(参数列表) {
// 方法体
return 返回值; // void 可省略
}
public static int max(int a, int b) {
return a > b ? a : b;
}
int m = max(3, 5); // 调用
Java 只有按值传递,没有按引用传递:
void change(int[] arr) { arr[0] = 99; } // 内容被改,因为 arr 指向同一对象
对比:C++ 有引用参数(
int&)真正按引用传递;Python 传的是“对象引用”,可变对象(list)表现为按引用,不可变对象(int/str)表现为按值。Java 处于中间:始终按值,但引用类型可通过引用改内容。
方法可调用其他方法,也可调用自身(递归)。递归必须有终止条件:
int fib(int n) {
return n <= 1 ? n : fib(n - 1) + fib(n - 2);
}
this 可显式指代成员)。*args/**kwargs 变通;Java 用重载 + 变长参数 int... nums。