黑马程序员技术交流社区

标题: 一道面试题之神回复(别让面试官吧你坑了) [打印本页]

作者: 活到老,学到老    时间: 2015-11-6 10:53
标题: 一道面试题之神回复(别让面试官吧你坑了)
如果在面试中出现此题目:
                          请问在java语言中是按值传递还是按引用传递。
                          答:1,基本数据类型。 2,引用数据类型 。如果传递的数据是基本数据类型
                                那么是吧基本数据类型的值(常量)复制了一份。java语言中的引用传递
                                其实应该能理解成引用内存地址值的传递,这个地址值您可以理解成引用
                               但是这个地址值是由16进制的值组成的。

作者: 石三伢子1    时间: 2015-11-6 11:56
是啊,基本类型和引用类型的形参传递,还是很容易搞错的;
作者: oup    时间: 2015-11-6 12:10
这个 不懂 ,好多细节 模棱两可。
作者: xiaoxiao147    时间: 2015-11-6 12:28
..所以呢..java中只有值传递...
作者: 活到老,学到老    时间: 2015-11-6 15:17
xiaoxiao147 发表于 2015-11-6 12:28
..所以呢..java中只有值传递...

你要是说只有值传递那就让面试官真正的把你坑了

作者: 3872982    时间: 2015-11-6 16:07
java中确实没有引用传递,只不过基础类型传过去的就是值复制,而对象等类型传过去的是实际类型存在于堆中的地址,所以我们可以改变地址中的数据罢了,但是我们并不能改变这个地址
作者: 活到老,学到老    时间: 2015-11-6 16:43
3872982 发表于 2015-11-6 16:07
java中确实没有引用传递,只不过基础类型传过去的就是值复制,而对象等类型传过去的是实际类型存在于堆中的 ...

看个人理解吧,主要就是看面试官是属于那个方面理解的,他如果认为是只有值传递,你非要跟他说引用传递他让你过才怪呢,所以只能两种都跟他解释清楚了。
作者: 3872982    时间: 2015-11-6 16:53
活到老,学到老 发表于 2015-11-6 16:43
看个人理解吧,主要就是看面试官是属于那个方面理解的,他如果认为是只有值传递,你非要跟他说引用传递他 ...

恩,解释清楚了就行,这并没有绝对的对错,说法不同罢了
作者: 活到老,学到老    时间: 2015-11-6 17:04
3872982 发表于 2015-11-6 16:53
恩,解释清楚了就行,这并没有绝对的对错,说法不同罢了

可是有些考官就是故意问这样的问题来刁难你的,回答的太单一了就完了。
作者: 唐彬    时间: 2015-11-6 23:36
理解得很透彻~
作者: 小肥啾    时间: 2015-11-7 00:09
字符串是个特殊的存在,用作参数传递,也不会改变实际值
作者: 1379号监听员    时间: 2015-11-7 00:10
java之父都说了是值传递了,讲给他听就行
作者: 迷茫不堪的年纪    时间: 2015-11-7 00:19
你可以这样理解,  在java中传递的是数值,还是地址值, 也就你说的这俩类型, 你可以直接告诉面试官,  詹姆斯.高斯林(java之父)说过不管怎么传都是传的数值.不分基本,引用
作者: 我若为神    时间: 2015-11-7 00:21
Java中只有值传递,书上就是这样写的,
作者: Sayman    时间: 2015-11-7 09:07
学到了............
作者: WOLAILE    时间: 2016-4-14 23:00
云里雾里。
作者: whl2608912021    时间: 2016-4-15 09:47
感谢分享,学习了
作者: zhangyapeng    时间: 2016-4-15 11:28
没看懂的哭了
作者: believedream    时间: 2016-4-15 23:04
这个很容易混的,最好画个内存图就明白了
作者: jike846566247    时间: 2016-4-15 23:22
只有值,不过值里面分了地址值
作者: 星空下的初吻    时间: 2016-4-16 00:31
我记得是值传递,说清楚就好了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2