A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 没有翅膀的小鸟 中级黑马   /  2014-7-11 10:44  /  1228 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

他们的区别用法在哪里?

10 个回复

倒序浏览
形参是定义方法的时候,该方法所携带的参数,不如说现在有一个方法
public void printInfo(String info){
System.out.println(info);
}
此处info就是一个形参,它是String类型的。
实参是你在调用方法的时候,给这个方法传递的参数值,比如说有这么一个语句:
**.printInfo("hello");(此处**表示printInfo方法所在类的一个对象),这里的"hello"就是一个实参。


形参和实参有以下显著的区别:
    1、形参不能离开方法。形参只有在方法内才会发生作用,也只有在方法中使用,不会在方法外可见。而实参可以再程序的任何地方都使用。
    2、形参代表一个合集,具有不确定性,而实参代表一个独立事物,具有确定性(即使是为null)。也就是说,形参不能代表具体的对象,只能代表这些对象共同的属性(比如超类、各种其他自定义属性等等),而实参则是具体的对象(比如超类的实例)。
    3、形参的值在调用时根据调用者更改,实参则用自身的值更改形参的值(指针、引用皆在此列)、

用通俗的话来说,形参告诉你什么样的东西才能用它,就好像一个声明、公告或者通则;而实参则是告诉你我在用它,就像一个实干家

评分

参与人数 1技术分 +1 收起 理由
淡夜清风 + 1 赞一个!

查看全部评分

回复 使用道具 举报
可以这样理解:
形参:只具其形,不具其神   
实参:有形有神,  
形参是没分配空间的参数,实参是已经分配空间的参数,程序运行的时候真正运行的都是实参,
回复 使用道具 举报
方法定义的参数列表中的参数叫做形参,实际调用方法时传入的参数叫实参。
比如:
int foo(String name, int age){…} //
这里name和age是形参。形参就像在说:“喂,请传给我一个String类型和一个int类型的变量”。形参名可以是任意的,但为了可读性,通常选取有意义的名词,告诉调用者这个参数的含义。
而foo("Jack", 18)中的"Jack"和18就是实参,实参是告诉方法foo:”我给你传了一个String类型和一个int类型的变量,请对他们执行你的操作吧“
回复 使用道具 举报
形参是定义方法时的参数,实参是使用方法时传的参数
回复 使用道具 举报
形参出现在函数定义中,在整个函数体内都可以使用, 离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。
回复 使用道具 举报
54lier 初级黑马 2014-7-11 15:47:49
7#
在java里面反正都是值的传递
回复 使用道具 举报
学习了.....
回复 使用道具 举报
都是很厉害的人啊,学习了,谢谢分享
回复 使用道具 举报
Adjin 中级黑马 2014-7-11 19:28:36
10#
形参就是函数给外面提供的访问本方法的入口吧,用来接收外面传进来的数据,实参就是外面传进来的数
回复 使用道具 举报
函数的参数列表中的是形参,实参是已经分配内存的参数。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马