java 函数形参传值和传引用的区别
来源:互联网 发布:js无限循环代码 编辑:程序博客网 时间:2024/06/13 02:26
Java方法中传值和传引用的问题是个基本问题,但是也有很多人一时弄不清。
(一)基本数据类型:传值,方法不会改变实参的值。
程序执行结果:a=0 。
(二)对象类型参数:传引用,方法体内改变形参引用,不会改变实参的引用,但有可能改变实参对象的属性值。
举两个例子:
(1)方法体内改变形参引用,但不会改变实参引用 ,实参值不变。
执行结果打印:s=1
(2)方法体内,通过引用改变了实际参数对象的内容,注意是“内容”,引用还是不变的。
执行结果,打印:Key:test Value:b 。可见在方法a()内改变了实参的内容。
(3)第二个例子是拿map举例的,还有经常涉及的是 StringBuffer :
执行结果,打印:sb=my java 。
所以比较参数是String和StringBuffer 的两个例子就会理解什么是“改变实参对象内容”了。
总结:
第一:java方法基本数据类型是传值,对象类型传引用,这是千真万确的。
第二:当参数是对象时,无论方法体内进行了何种操作,都不会改变实参对象的引用。
第三:当参数是对象时,只有在方法内部改变了对象的内容时,才会改变实参对象内容。
阅读全文
0 0
- java 函数形参传值和传引用的区别
- java 函数形参传值和传引用的区别
- java 函数形参传值和传引用的区别
- java 函数形参传值和传引用的区别
- java 函数形参传值和传引用的区别
- Java函数形参"传值"和"传引用"的区别
- Java函数传参 Java引用和C++引用的区别
- Java函数传递引用和值的区别
- Java中传值和传引用的区别
- 函数指针和函数引用的区别
- 函数指针和函数引用的区别
- Java函数中传值与传引用的区别
- 函数指针传参和引用传参的区别
- 函数返回const引用和普通引用的区别
- java的传值和传引用的区别
- java中几种引用类型的定义和区别。强引用,软引用,弱引用,虚引用
- Java引用和C++指针的区别
- Java引用和C++指针的区别
- Your local changes to the following files would be overwritten by
- 算法第四版Algorethms 4th学习笔记(2)
- 算法导论 学习笔记 第三章 函数的增长
- poj 1145 Tree Summing 栈+模拟
- 1.8-Java-选择排序
- java 函数形参传值和传引用的区别
- mac下更新jar里面的class
- 4. DBSCAN方法及其应用
- java线程死锁和避免
- 【转】php curl调用参数设置详解
- Excel 2010总结
- 背包问题
- (原创)利用页面交叉引用反馈爬取vulners.com的数据
- 【华为机试】【中级】单词倒排