值传递和引用传递
来源:互联网 发布:mysql教程百度云网盘 编辑:程序博客网 时间:2024/06/06 00:02
Java在调用函数的时候其实是另外开辟了内存空间,并copy了变量的副本。对于包括String在的对象来说就是声明了一个副本对象指向了同一个地址,在函数中改变该对象的属性,本体的属性也会跟着更改,如果调用中使用=让副本指向新的地址,则更改不会再改变本体的值。
如上面的例子a和a的副本指向同一个地址,所以更改副本a为AAA时,由于本体也指向这个地址所以本体也改变了,当a的副本指向b的副本的地址时,b、b的副本、a的副本均指向同一个地址,当a的副本改为CCC时,b的本体和b的副本都变成CCC了,故而a为AAA,b为CCC。
由于String和基本数据类型只能通过赋值语句来更改,而且它们的赋值语句不存在指向同一片地址的可能(String不赋值跟本体相同),故而没有更改本体的可能。
阅读全文
0 0
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 引用传递和值传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 引用传递和值传递
- 数据结构与算法分析(C++语言版)_张琨版 第一章课后习题答案
- Vulkan规范:第三章
- 微信公众号支付插件一闪而过
- JSP中九大内置对象之一pageContext
- django rest framework 视图类的关系
- 值传递和引用传递
- 查找k,查到输出k位置,否则输出0,数组从a[1]开始
- Spring框架的第四天(ssh整合)
- Angular4学习笔记(六)- Input和Output
- 三分法 three-way partitioning
- c语言练习题1
- JS中出现undefined与null几种常见情况
- TCP客户端与服务器端实例
- 实验5:树和二叉树的实验1