java中传值和传引用怎么区别

怎么看出或什么情况下是传值、什么情况下是传引用?最好能举个例,谢谢... 怎么看出或什么情况下是传值、什么情况下是传引用?最好能举个例,谢谢 展开
 我来答
QQMSD8
2014-08-07 · 知道合伙人软件行家
QQMSD8
知道合伙人软件行家
采纳数:6788 获赞数:13239
没有做不到,只有想不到,帮助别人的同时也是对自己的提升

向TA提问 私信TA
展开全部

在方法参数传递中当变量是8大基本数据类型的时候,就是传值,在方法里被修改了这个也不会影响

当变量是Object类型的时候,就是传引用看图吧

shala202020
推荐于2017-10-01 · TA获得超过4159个赞
知道小有建树答主
回答量:1410
采纳率:85%
帮助的人:372万
展开全部
传值就是你改变这个值,不会改变原值;
传引用就是你改变这个值,不会改变原值;
java方法基本数据类型是传值,对象类型传引用,这是千真万确的。
当参数是对象时,无论方法体内进行了何种操作,都不会改变实参对象的引用。
当参数是对象时,只有在方法内部改变了对象的内容时,才会改变实参对象内容。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乌微月2S
推荐于2017-09-17 · TA获得超过5037个赞
知道大有可为答主
回答量:5361
采纳率:42%
帮助的人:2894万
展开全部

传值就是你改变这个值,不会改变原值。例如

int a=1;

把a作为参数经过方法调用,在方法中改变a的值如。

a=2;

在方法中a是变成2了。

但是在外面a还是1。.

如果是传引用,值是会变的。

例如这样

public class Test {
public void test(List list){
list.remove(0);
list.add("b");
}
public static void main(String[] args) {
String a="123";
List list=new ArrayList();
list.add(a);
new Test().test(list);
 
System.out.println(list.get(0));
}
}
追问
谢谢,我就是想知道怎么判别形参是传值还是传引用
追答
传值是少数。基本数据类型和String是值传递。
传对象的都是传引用。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9a65c9b
2014-08-07 · TA获得超过551个赞
知道小有建树答主
回答量:519
采纳率:0%
帮助的人:247万
展开全部
基本数据类型传递时值传递;
对象传递都是引用传递;
你可以传一个int和integer,改变一下值在输出看看,就明确了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
下周四到
2014-08-07 · TA获得超过271个赞
知道小有建树答主
回答量:340
采纳率:0%
帮助的人:173万
展开全部
Java只有值传递
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式