在Java中方法参数的传递,对象是传递引用
来源:互联网 发布:波士顿矩阵分析耐克 编辑:程序博客网 时间:2024/05/17 17:43
在Java中方法参数的传递,对象是传递引用,基本数据类型是传递值。而且一直一来都似乎没有人提出过疑问。
直到最近,我在为公司基本Java开发人员编写考试试卷的时候,我才发现,这错了!在方法中,Java语言中对象传递的是地址,而不是引用,这两个概念是有非常大的差别的,我相信熟悉c++的人都应该知道。
例如下面:假设对象Test有name的属性。
public void call(Test t) {
Test t2 = new Test();
t2.setName("cba');
t.setName("abc");
t = t2 ;
}
public static void main(String[] arg) {
Test obj = new Test();
call (obj) ;
System.out.println("obj"+obj.getName());
}
这个时候,你们可以发现,打印出来的是"abc" ,而不是"cba",原因是这样的,在这次调用中,等于声明了两个变量obj , t,它们指向的是同一个地址,调用call方法,只是将obj指向的地址传递给了t,而obj本身并没有传递过去(也就是没有传递引用),当你重新赋值的时候(也就是将对象引用指向其他存储空间),等于只影响了t,而没有影响obj。
这样的传递方式只能称之为址传递,或者是引用对象传递,而不嫩说是传递引用或者引用传递。
我不知道这究竟属于翻译的错误,还是我们理解的错误。但是这样的问题在c++中是有明显的区分的(通过*与&)
文章来自艾米美甲培训学院 http://www.amysnail.com.cn
- 在Java中方法参数的传递,对象是传递引用
- java 方法中参数是值传递还是引用传递
- JAVA中方法参数的引用传递
- JAVA中方法参数的引用传递
- java引用传递和对象传递的区别(对象在方法中传递时,仅仅传的是地址的副本)
- Java中参数传递是值传递,还是引用传递
- Java中参数传递是值传递,还是引用传递的一次深究
- Java中函数参数的传递是值传递还是引用传递
- Java中函数参数的传递是值传递还是引用传递
- Java中函数参数的传递形式是值传递 还是引用传递
- Java中函数参数的传递是值传递还是引用传递
- Java中函数参数的传递是值传递还是引用传递
- Java中函数参数的传递是值传递还是引用传递
- JAVA方法参数传递的是值还是引用
- Java方法参数的传递机制,值传递?引用传递?
- 详解java中给方法传递参数的两种方式:按值传递,引用传递
- java的参数是值传递而非引用传递
- Java参数传递传递的是值还是引用?
- 看上去很棒 11.6吋MeeGo系统平板图赏
- nginx-0.8.38源码探秘(四)
- gethostbyname()
- iphone self. 属性的用法
- 关于wicket的checkgroup控件
- 在Java中方法参数的传递,对象是传递引用
- Silent Install
- 网络字节转换inet_aton & inet_ntoa & inet_addr和inet_pton & inet_ntop
- 递归调用make时应使用变量MAKE
- Hibernate之映射值类型集合(映射map)
- 个豆腐干反对
- Struts2中的文件上传
- 个人Java面试题收集
- 跨浏览器的iframe onload 事件监听