Java中的值传递和引用传递
来源:互联网 发布:mac 百度云太慢 编辑:程序博客网 时间:2024/06/05 11:47
Java参数,不管是原始类型还是引用类型,传递的都是副本(有另外一种说法是传值,但是说传副本更好理解吧,传值通常是相对传址而言)。
转自http://yqsshr.blog.51cto.com/469059/147695
(1):“在Java里面参数传递都是按值传递”这句话的意思是:按值传递是传递的值的拷贝,按引用传递其实传递的是引用的地址值,所以统称按值传递。
(2):在Java里面只有基本类型和按照下面这种定义方式的String是按值传递,就是直接使用双引号定义字符串方式:String str = “Java私塾”,其它的都是按引用传递。
转自http://bbs.csdn.net/topics/90058535
(1) 在JAVA中,一个基本类型的变量直接代表那个值本身,而一个类类型(或数组类型)的变量则是一个引用,间接地代表着它所引用的那个对像;
(2) 不管是引用类型还是基本内型的变量,就变量本身而言,做参数传递时,都是值传递的语义——你永远无法改变传递的变量本身。
(3) 因为(2),在方法内部对形参值的直接修改不影响实参;
(4) 但引用类型由于本身引用着一个实际的对象,因此可以通过它来修改对象的分量而且使得这种改变对方法外部的实参可见;
(5) 第(4)条所说的“分量”既包括数组的元素,也包括类的字段;
(6) 由于(4),(5),通过数组或类的包装,可以间接实现让方法内对象的改变影响到方法外部。
传值:直接传递数值。变量与变量之间,值与值之间互不影响。
传参:传参考,就是传引用。打个比方,每传递一个引用就相当于多了一个遥控器,这些遥控器都能操作同一台电视机。如果其中一台遥控器转而操作另一台电视机,并不影响其它遥控器对原电视机的操纵。
传址:传递变量的地址。c++里面常用,使用“&”操作符把变量的地址传递给另一个变量。通过后一个变量,除了能改变前一变量所引用的对象,还能改变前一变量所持有的引用,即,是前一变量引用另外的对象。
另外:注意Java中的数组是运行时生成的一个特殊的类的对象而已,和C语言的数组完全不同的概念,只是用法、语法类似。
- java中的“值传递”和“引用传递”
- java中的值传递和引用传递
- Java中的值传递和引用传递
- java中的值传递和引用传递
- java中的值传递和引用传递
- java中的值传递和引用传递
- Java中的值传递和引用传递
- java中的值传递和引用传递
- java中的值传递和引用传递
- java中的值传递和引用传递
- java中的值传递和引用传递
- java中的值传递和引用传递
- java中的值传递和引用传递
- java中的值传递和引用传递
- Java中的值传递和引用传递
- Java中的值传递和引用传递
- java中的值传递和引用传递
- Java中的值传递和引用传递
- Java中的import语句
- Hibernate延迟加载机制
- Google 2013校招笔试题:用swap排序
- QT中怎么设置和使用进度条
- web_custom_request 函数
- Java中的值传递和引用传递
- 二叉树的先序、中序、后序遍历方法(递归与非递归方法)——《数据结构》
- poj 3941 expected allowance
- 黑马程序员——三、java基础之面向对象.part2(5)
- 傻瓜式IOS发布教程(一)iTunes Connect创建应用以及内购
- 我的vim配置
- 近几天的杂思
- OPENCV 常用函数
- Java中重载和覆盖的区别