比如函数
public void fun(int a,double b){}
public static void main(String args[]){
int x=100;
double y=50.0;
fun(x,y);
}
其中x和y就是实参,而fun中的a和b就是形参.
作用体现在:
1.形参的作用简而言之就是"虚席以待",也就是用来接收传入函数的实参,预先开辟一块空间用来接收参数.
2.规定传入参数的类型和格式,以及参数的顺序,比如上述代码中形参有两个,分别是a和b,且a和b分别是int型和double型,于是传入的参数个数为两个,x和y.且x是int型的,y是double型的.
这涉及到Java中的引用,在Java中如果我们定义的数据类型不是规定的8种基本数据类型,那么我们实际定义的只是存放这种数据类型的引用(即定义的是存放这种数据类型的地址存放空间),当使用new申请空间时,我们才申请了存放数据的空间。当然如果定义的是诸如int i这样的东西就不同了(8种基本类型之一),直接分配的是存放int类型的数据空间。
那么现在我们在看一下你的提问。形参中如果我们定义的是8种基本数据类型之一就是进行的值传。如果定义是非基本类型,因为我们在定义的时候只是定义存放地址的空间,自然传入的就是实参的地址,所以形参和实参操作的是同一空间。
希望这样的答复对你有帮助!
占位的作用
数学中的函数知道吧
假如 y=ax
这时候y就相当于返回值 x就是相当形参
你带一个具体的值给x 比如1
这时候1就相当实参
不知道你明白点了没
给函数设置一个地址,当你调用该函数的时候,实际所给的参数值就存放到这个地址所指明地内存中