java 传递参数 “引用是一种数据类型”,“参数是引用的一个拷贝”
2012-01-27 11:58
821 查看
“引用是一种数据类型”,“参数是引用的一个拷贝”
传递参数的时候,如果是基本类型,传递的是基本类型的copy
如果是对象类型,传递的是对象类型的引用的新生成的copy,这个copy 指向的仍然是真正的地址。 新生成的copy是和原来的参数有区别的,它是一个在stack顶新生成的,需要占内存空间的。
因此,如果在method内部对新生成的copy 进行对象赋值操作是对原来的参数对象没有任何影响的。
但是,这个copy内部的成员变量还是指向真正的地址的,所以操作成员变量是对值有影响的。
传递参数的时候,如果是基本类型,传递的是基本类型的copy
如果是对象类型,传递的是对象类型的引用的新生成的copy,这个copy 指向的仍然是真正的地址。 新生成的copy是和原来的参数有区别的,它是一个在stack顶新生成的,需要占内存空间的。
因此,如果在method内部对新生成的copy 进行对象赋值操作是对原来的参数对象没有任何影响的。
但是,这个copy内部的成员变量还是指向真正的地址的,所以操作成员变量是对值有影响的。
相关文章推荐
- java程序设计--孙鑫java无难事Lesson5《java常用包、数据类型与引用类型、函数参数传递、克隆机制》
- JAVA中引用数据类型的参数传递
- 由【JAVA中参数传递问题】引发除了基本数据类型和引用类型的思考
- java基本数据类型传递与引用传递区别详解(一个大神的解析,不是我。。)
- 2013年8月17日、二维数组定义的格式|用java表现一个描述小汽车|基本数据类型参数传递|
- Java中的原生数据类型和引用类型的参数传递
- 如果java中一个方法不知道要传递多少参数也不知道传递过来的是什么类型的数据你会怎么做?
- 牛客网Java刷题知识点之基本数据类型参数传递和引用数据类型参数传递图解
- java面试题:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
- 基本数据类型参数传递与引用数据类型参数传递区别
- java中的值传递和引用传递及对应的数据类型
- 面试之路(18)-java的函数参数传递类型之值传递还是引用传递
- Java中,String类型和包装类型作为参数传递时,是属于值传递还是引用传递呢?
- java基本数据类型传递与引用传递区别详解
- Java引用数据类型的传递
- java参数传递,引用还是拷贝
- C# 数据类型的引用类型、值类型内存存储方式以及区别; 函数参数传递的引用传递(址传递)、值传递区别
- java面试题解惑:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
- java 中的基本数据类型的传递和引用数据类型的传递
- 一个实例介绍——java中的参数传递(传值、传引用)