java对象赋值的“别名”问题
来源:互联网 发布:json图片解析 编辑:程序博客网 时间:2024/05/18 00:33
在对一个对象进行操作时,我们操作的实际是对对象的引用。所以倘若是“将一个对象赋值给另一个对象”,实际是将引用从一个地方复制到了另一个地方。这意味着,假如对对象使用 c = d ,那么c和d都是指向原本只有d指向的哪个对象。
这个现象在方法调用中也很常见,将一个对象传递给方法时,也会产生“别名问题”,如下面的一段代码:
class Letter{ char c ;}public class PassObject{ static void f(Letter y){ y.c = 'z' ; } public void static void main(String[] args){ Letter x = new Letter(); x.c = 'a' ; System.out.println(x.c) ; f(x); System.out.println(x.c); }}
上面代码的输出结果,第一次是a ,第二次是z,方法f()似乎要在它的作用域内复制其参数Letter y的一个副本,但实际上只是传递了一个引用。
阅读全文
1 0
- java对象赋值的“别名”问题
- JAVA别名问题----JAVA程序需要注意的对象引用
- Java对象赋值引发的问题
- java中的对象赋值问题
- Java中别名现象和对象引用问题
- JAVA类,别名问题
- Java 别名问题
- java数组的赋值问题
- JAVA byte赋值的问题
- Java操作对象的一种基本方式:“别名”
- action中model对象的赋值问题
- JAVA中对象赋值与主数据类型赋值的区别
- Java的主类型赋值以及对象赋值
- java中对象的引用与赋值
- JAVA中对象的赋值与引用
- Java中对象的赋值与引用
- Java 对象之间相同属性的赋值
- 同义词-方案对象的别名
- 十条jQuery代码片段助力Web开发效率提升
- 传统以太网和时间敏感网络TSN的区别
- POJ1417
- CSS3常用选择器和属性
- ImageView的scaleType的属性理解
- java对象赋值的“别名”问题
- jdk1.8 lambda表达式处理集合的一些用法
- phpStorm断点使用方法【图文并茂】讲明白
- 栈——链栈
- git常用指令小结
- 关于辗转相除法求gcd的证明
- 会计代账的复式记账法是什么?
- 项目Tomcat下成功部署, weblogic部署失败
- Super A^B mod C (费马小定理的推广——欧拉定理)