-------------------------------------------------------百科中的解释(有修改)------------------------------------------------------------
实参(argument):
全称为"实际参数"是在调用时传递给函数的参数. 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。
形参(parameter):
全称为"形式参数" 由于它不是实际存在变量,所以又称虚拟变量。是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数.在调用函数时,实参将赋值给形参。因而,必须注意实参的个数,类型应与形参一一对应,并且实参必须要有确定的值。
-------------------------------------------------------百科中的解释(有修改)------------------------------------------------------------
我的理解:
java中有些内置方法需要实际参数,用来提供给方法,让方法用这些值来做我们需要的“事”,比如如果计算三角函数 的值,就必须提供一个你打算计算的角度,比如50.08°,等,这个double类型的值就可以成为这个求三角函数方法的实际参数。至于形式参数,可以理解为自变量,比如我们通常说的x。不管这个x的值是45°还是60°,我们写的这个求三角函数的方法都可以把他算出来,
对于下面这个方法:
- Public static void showTwice(String p)
- {
- System.out.println(p);
- System.out.println(p);
- }
这个方法中的p就是一个形式参数的变量名,我们写这个方法时根本不知道p的实际值是什么,但是这个方法都会将这个值输出到屏幕两次。
为了调用这个方法,我们在main方法中写如下代码:
- Public static void main(String[] args)
- {
- showTwice("conquer it");
- }
对比可知,"conquer it " 这个字符串就是实际参数给了showTwice方法,完成了这个方法的一个实际调用,为了再完成一个说明。可以把上面这个调用写成如下:
- Public static void main(String[] args)
- {
- String p1="conquer it";
- showTwice(p1);
- }
这里,p1就只是起一个替代“conquer it”的作用。相对于形式参数的变量名p,作为实际参数传入的变量名p1不起任何作用。
实参和形参的区别:
1.英文名字不同,这个上面我已经标注了,看英语教材的朋友可以参考下
2..本质不同:形参的本质是一个名字,不占用内存空间。实
参的本质是一个变量,已经占用内存空间。
3.在调试的时候,parameter就转变成argument,这时也往往
不使用argument一词,而是称之为variable(变量),因
为实参本质上就是一个变量,在内存中占用一块空间。
ps:个人知识能力有限,根据自己的理解,参考一些文章所做,如有错误之处,还请不吝赐教,互相学习,彼此进步。
转载于:https://blog.51cto.com/lazyheart/488803