zoukankan      html  css  js  c++  java
  • 形参与实参的区别

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

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

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

    -------------------------------------------------------百科中的解释(有修改)------------------------------------------------------------
    实参(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(变量),因为实参本质上就是一个变量,在内存中占用一块空间。
  • 相关阅读:
    第八次作业-非确定的自动机NFA确定化为DFA
    正规式到正规文法与自动机
    正则表达式基本介绍
    博客园源码不可copy的解决办法
    爬取湖北师范大学招生信息网中的专业简介
    利用爬虫爬取LOL官网上皮肤图片
    利用python的requests和BeautifulSoup库爬取小说网站内容
    python图像处理之PIL库
    Python之文件的使用
    python入门之jieba库的使用
  • 原文地址:https://www.cnblogs.com/cyt-blog/p/3360004.html
Copyright © 2011-2022 走看看