Java中方法调用到底是按值,还是按引用???

hccpro 2002-02-16 04:05:34
java中方法的参数是按值传递,而不是按引用,

那么, java.io.InputStream类中的read(byte[] b) 方法是怎样把数据读入b中的?
...全文
61 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
hccpro 2002-02-18
  • 打赏
  • 举报
回复
在书上查了一下,对象和基本类型确实是按值传递。

但数组比较特殊,《核心技术I》p64上说:

“由于java中的数租实际上是隐藏引用,所以java中的方法就能改变数组中的元素。”

OK,问题解决了,感谢大家,散分。
memphis0815 2002-02-17
  • 打赏
  • 举报
回复
基本类型是传值,对象和数组是传值
bittering1 2002-02-17
  • 打赏
  • 举报
回复
在java中只有基本类型是按值来传递的
YHW 2002-02-17
  • 打赏
  • 举报
回复
按值
vive 2002-02-17
  • 打赏
  • 举报
回复
都是按值来传递。
但是一定要注意弄清楚引用和对象本身的区别,跟c++里面的概念有很大区别(跟delphi类似)
hccpro 2002-02-17
  • 打赏
  • 举报
回复
《java核心技术I》上说参数如果是对象的话是按值传递,而数组也是对象,怎么数组会

变成了按引用?????
MrYoucheng 2002-02-17
  • 打赏
  • 举报
回复
只有基本 类型是传值的
samuelsong_cn 2002-02-17
  • 打赏
  • 举报
回复
数组、对象、结构体等类型的参数是引用传递,基本数据类型是按值传递
zosatapo 2002-02-17
  • 打赏
  • 举报
回复
同意memphis0815()看法。这是java编程最基本的常识。
同时如果你知道关于引用是指针的指针的话,对你理解也是很有好处的。

除了built-in的类型传值外,其他的东东全部是引用传递的。


我不懂电脑 2002-02-16
  • 打赏
  • 举报
回复
数组和对象是传引用,其余是传值
zxnice 2002-02-16
  • 打赏
  • 举报
回复
全是按值传递的!!
lyxinfo 2002-02-16
  • 打赏
  • 举报
回复
Java在单个JVM里如果被传递的是基本类型,就是值传递,如果是对象类型,就是通过引用进行参数传递.
jimjxr 2002-02-16
  • 打赏
  • 举报
回复
引用也是按值传递,结果是你给的引用和传给方法的引用是两个引用,但这两个引用指向同一个对象,通过这两个引用都可以修改这个对象。
mingtian 2002-02-16
  • 打赏
  • 举报
回复
因为b是数组,b的“值”指向的是该数组的存储地址,参数传递时是把该地址值传了过去,read()方法再把数据按该地址值存入,实际上也就存入了原数组。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧