在Java中,方法的参数有三种:形式参数、实际参数和可变参数。这些参数在方法的定义和调用中都扮演着不同的角色。
形式参数
形式参数是指在方法定义中声明的参数,它们用于接收方法调用者传递进来的实际参数值,可以理解为是一种占位符。形式参数的数量和类型都需要在方法的定义中指定。
例如:
//定义方法
public void printInfo(String name, int age) {
System.out.println("name:" + name + ", age:" + age);
}
//调用方法
printInfo("Tom", 18);
上述代码中,printInfo方法的形参为name和age,它们分别接收实参"Tom"和18的值。
实际参数
实际参数是指在方法调用时传递给方法的参数值,也可以称之为实参。实参可以是一个常量、变量、表达式或对象。实参的数量、类型和顺序需要与方法定义中的形参相匹配。
例如:
//定义方法
public int add(int a, int b) {
return a + b;
}
//调用方法
int result = add(1, 2);
上述代码中,add方法的形参为a和b,它们分别接收实参1和2的值。
可变参数
可变参数是指在方法定义中使用"..."表示可以接收多个参数的类型。在方法体中,可变参数被视为数组类型的参数。调用者可以向可变参数中传递任意数量的参数,包括0个参数。
例如:
//定义方法
public void printMsgs(String... msgs) {
for (String msg : msgs) {
System.out.println(msg);
}
}
//调用方法
printMsgs(); //不传递参数
printMsgs("Hello", "World"); //传递两个参数
printMsgs("Java", "is", "great"); //传递三个参数
上述代码中,printMsgs方法的形参为msgs,它是一个可变参数类型的数组,可以接收任意数量的字符串参数。
通过形参实参和变参的使用,可以使方法更加灵活,为我们的编程带来更多方便。