Java 方法(方法定义与调用)
方法是组织代码的基本单元,用于封装功能逻辑。理解方法的定义、调用、参数传递和返回值是编写模块化程序的基础。本章将详细介绍 Java 方法的使用。
方法定义、参数、返回值
方法定义
语法:
[访问修饰符] [static] [final] 返回类型 方法名(参数列表) {
// 方法体
return 返回值; // 如果有返回值
}
组成部分:
- 访问修饰符:public、private、protected 、默认
- static:静态方法(可选)
- final:最终方法(可选)
- 返回类型:方法返回的数据类型,void 表示无返回值
- 方法名:遵循命名规范(小驼峰)
- 参数列表:方法接收的参数
- 方法体:方法执行的代码
无参数无返回值
public void sayHello() {
System.out.println("Hello, World!");
}
有参数无返回值
public void greet(String name) {
System.out.println("Hello, " + name + "!");
}
// 多个参数
public void introduce(String name, int age) {
System.out.println("我是 " + name + ",今年 " + age + " 岁");
}
有返回值
// 返回基本类型
public int add(int a, int b) {
return a + b;
}
// 返回引用类型
public String getFullName(String firstName, String lastName) {
return firstName + " " + lastName;
}
// 返回数组
public int[] getNumbers() {
return new int[]{1, 2, 3, 4, 5};
}
方法调用
public class MethodExample {
// 定义方法
public void sayHello() {
System.out.println("Hello");
}
public int add(int a, int b) {
return a + b;
}
public static void main(String[] args) {
MethodExample obj = new MethodExample();
// 调用无返回值方法
obj.sayHello();
// 调用有返回值方法
int result = obj.add(10, 20);
System.out.println("结果:" + result);
}
}
参数传递
1. 基本类型参数(值传递)
public void modifyValue(int x) {
x = 100; // 只修改局部变量,不影响原变量
}
public static void main(String[] args) {
int num = 10;
modifyValue(num);
System.out.println(num); // 仍然是 10
}
2. 引用类型参数(引用传递)
public void modifyArray(int[] arr) {
arr[0] = 100; // 修改数组元素
}
public static void main(String[] args) {
int[] numbers = {1, 2, 3};
modifyArray(numbers);
System.out.println(numbers[0]); // 100(被修改了)
}
注意:Java 中所有参数传递都是值传递,但对于引用类型,传递的是引用的副本 ,所以可以修改对象的内容。
3. 可变参数(varargs)
// 可变参数必须是最后一个参数
public int sum(int... numbers) {
int total = 0;
for (int num : numbers) {
total += num;
}
return total;
}
// 调用
int result1 = sum(1, 2, 3); // 6
int result2 = sum(1, 2, 3, 4, 5); // 15
int result3 = sum(); // 0
可变参数内部是数组:
public void print(String... messages) {
for (String msg : messages) {
System.out.println(msg);
}
}