当前位置: 技术问答>java相关
Java中方法调用到底是按值,还是按引用???
来源: 互联网 发布时间:2015-04-03
本文导语: java中方法的参数是按值传递,而不是按引用, 那么, java.io.InputStream类中的read(byte[] b) 方法是怎样把数据读入b中的? | 因为b是数组,b的“值”指向的是该数组的存储地址,参数传递时是...
java中方法的参数是按值传递,而不是按引用,
那么, java.io.InputStream类中的read(byte[] b) 方法是怎样把数据读入b中的?
那么, java.io.InputStream类中的read(byte[] b) 方法是怎样把数据读入b中的?
|
因为b是数组,b的“值”指向的是该数组的存储地址,参数传递时是把该地址值传了过去,read()方法再把数据按该地址值存入,实际上也就存入了原数组。
|
引用也是按值传递,结果是你给的引用和传给方法的引用是两个引用,但这两个引用指向同一个对象,通过这两个引用都可以修改这个对象。
|
Java在单个JVM里如果被传递的是基本类型,就是值传递,如果是对象类型,就是通过引用进行参数传递.
|
全是按值传递的!!
|
数组和对象是传引用,其余是传值
|
基本类型是传值,对象和数组是传值
|
同意memphis0815()看法。这是java编程最基本的常识。
同时如果你知道关于引用是指针的指针的话,对你理解也是很有好处的。
除了built-in的类型传值外,其他的东东全部是引用传递的。
同时如果你知道关于引用是指针的指针的话,对你理解也是很有好处的。
除了built-in的类型传值外,其他的东东全部是引用传递的。
|
数组、对象、结构体等类型的参数是引用传递,基本数据类型是按值传递
|
只有基本 类型是传值的
|
都是按值来传递。
但是一定要注意弄清楚引用和对象本身的区别,跟c++里面的概念有很大区别(跟delphi类似)
但是一定要注意弄清楚引用和对象本身的区别,跟c++里面的概念有很大区别(跟delphi类似)
|
按值
|
在java中只有基本类型是按值来传递的