何为形参、实参:
方法定义时的参数称为形式参数,简称形参;
方法调用时的传入参数称为实际参数,简称实参;
实参和形参的类型要一致或兼容、个数、顺序必须一致。
例如
int max(int num1,int num2)
参数num1和num2为形参。.
int a =1;int b=2;...
t.max(a,b)
参数a,b为实参
public class A {
public static void example(int a){//形参
System.out.println(a+1);
}
public static void main(String[] args) {
int a=10;//实参
System.out.println(a);
example(a);
System.out.println(a);
}
}
而在调用这个方法时,需要调用者提供与原方法定义匹配的参数(类型,数量,顺序都保持一致),这些实际调用时提供的参数,称为实际参数,检测实参。
public class Method {
public static void main(String[] args) {
AA a = new AA();
byte b1 = 1;
byte b2 = 2;
a.people(b1, b2);//√。byte可以传给people里面的int
//a.people(1.1, 1.2);//错。double高精度无法给到people里面低精度int
a.people2("java", 100); //√
//a.peolpe2(100, "java"); // 错的。实际参数和形式参数顺序不对
}
}
class Test{
public int[] people(int n1, int n2) {
}
public void people2(String str, int n){
}
}
.如果方法要求有返回数据类型,则方法体中最后的执行语句必须为 return 值; 而且要求返回值类型必须和 return 的值类型一致或兼容
public double method() {
double d1 = 1.1 * 3;
int n = 100;
return n; // 根据基本数据类型,int可以传给double,而double不能给int,如果返回类型为int就会报错
}
如果方法是 void,则方法体中可以没有 return 语句,或者 只写 return ;
形参和实参的关系如下:
⑴形参变量隶属于方法体,也就是说它们是方法的局部变量,只有在被调用时才被创建,才被能是临时性的分配内存,在调用结束后,立即释放所分配的内存单元,也就是说,当方法调用返回后,就不能再使用这个形式参数。
⑵在调用方法时,实参和形参在数量,类型,顺序应严格保持一一对应关系,否则就会出现参数类型不匹配的错误,从而导致调用方法失败。
例如;
t.max(12.31,56.13);
与形参类型不匹配,形参类型为int,而实参为double。t.max(12);
与形参个数不匹配,形参个数是2个,而实参个数为1个。
(3)形参列表
1.─个方法可以有0个参数,也可以有多个参数,中间用逗号隔开。
eg: getPeople(int n,double x)
⒉参数类型可以为任意类型,包含基本类型或引用类型。
eg: printArray(int[]]map)
3.调用带参数的方法时,一定对应着参数列表传入相同类型或兼容类型的参数。(上文已经演示)
4.方法定义时的参数称为形式参数,简称形参;方法调用时的传入参数称为实际参数,简称实参,实参和形参的类型要一致或兼容、个数、顺序必须一致。(上文已经演示)