形参与实参的区别

面向对象三要素:封装、多态、继承。java

 

形参,简单来讲就是函数头上括号里的参数,其做用范围仅仅在本函数以内。函数

而实参是调用函数时给形参传值的那些参数,其必须给赋初值(或者经过输入等方式)。spa

 

-------------------------------------------------------百科中的解释(有修改)------------------------------------------------------------
实参(argument):
  全称为"实际参数"是在调用时传递给函数的参数. 实参能够是常量、变量、表达式、函数等, 不管实参是何种类型的量,在进行函数调用时,它们都必须具备肯定的值, 以便把这些值传送给形参。 所以应预先用赋值,输入等办法使实参得到肯定值。      
形参(parameter):
全称为"形式参数" 因为它不是实际存在变量,因此又称虚拟变量。是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数.在调用函数时,实参将赋值给形参。于是,必须注意实参的个数,类型应与形参一一对应,而且实参必需要有肯定的值。
 
 java中有些内置方法须要实际参数,用来提供给方法,让方法用这些值来作咱们须要的“事”,好比若是计算三角函数 的值,就必须提供一个你打算计算的角度,好比50.08°,等,这个double类型的值就能够成为这个求三角函数方法的实际参数。至于形式参数,能够理解为自变量,好比咱们一般说的x。无论这个x的值是45°仍是60°,咱们写的这个求三角函数的方法均可以把他算出来,
对于下面这个方法:
  1. Public static void showTwice(String p) 
  2.            { 
  3.        System.out.println(p); 
  4. System.out.println(p); 
  5.            } 
这个方法中的p就是一个形式参数的变量名,咱们写这个方法时根本不知道p的实际值是什么,可是这个方法都会将这个值输出到屏幕两次。
为了调用这个方法,咱们在main方法中写以下代码:
  1. Public static void main(String[] args) 
  2.     { 
  3.      showTwice("conquer it"); 
  4.     } 
对比可知,"conquer it " 这个字符串就是实际参数给了showTwice方法,完成了这个方法的一个实际调用,为了再完成一个说明。能够把上面这个调用写成以下:
 
  1. Public static void main(String[] args) 
  2.     { 
  3. String p1="conquer it";
  4.      showTwice(p1); 
  5.     }  
这里,p1就只是起一个替代“conquer it”的做用。相对于形式参数的变量名p,做为实际参数传入的变量名p1不起任何做用。
 

实参和形参的区别:

1.英文名字不一样,这个上面我已经标注了,看英语教材的朋友能够参考下
 
2..本质不一样:形参的本质是一个名字,不占用内存空间。实参的本质是一个变量,已经占用内存空间。
 
3.在调试的时候,parameter就转变成argument,这时也每每不使用argument一词,而是称之为variable(变量),由于实参本质上就是一个变量,在内存中占用一块空间。
相关文章
相关标签/搜索