java方法之间参数传递
- 基础类型值传递
复制代码
1
2
3
4
5
6
7
8public static void tripleValue(double x){ x = 3*x; } double value = 10; tripleValue(value); System.out.println("value is:"+value); //value is:10
调用tripleValue时,x仅仅是value的一个拷贝。tripleVlue方法执行完成后变量x会被释放。
- 关于引用(对象)的传递
java 程序设计语言对对象采用的是引用调用吗?
实际上这种理解不对,给出以下举例来反驳这种说法。
首先编写一个交换两个雇员对象的方法:
复制代码
1
2
3
4
5
6
7
8
9
10public static void swap(Employee x, Employee y){ Employee temp = x; x = y; y = temp; } //进行调用 Employee a = new Employee("a"); Employee a = new Employee("a"); swap(a,b);
最终,在方法结束时临时变量x和y会被丢弃。原来的变量a和b仍然引用这个方法之前所引用的对象。
这个过程说明:java语言对对象次啊用的不是引用调用,实际上,对象引用是按值传递的(将这个引用本身(注意并非这个引用所指向的对象)拷贝了一份传递进去了)
以上内容为阅读《java核心技术》
最后
以上就是灵巧小蚂蚁最近收集整理的关于java方法之间参数传递(java 程序设计语言对对象采用的是引用调用吗)的全部内容,更多相关java方法之间参数传递(java内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复