关于"Java中方法参数的传递方式"的探讨
来源:互联网 发布:易企秀mac版下载 编辑:程序博客网 时间:2024/04/28 12:28
内容引自:http://blog.csdn.net/faintbear/archive/2004/11/29/198021.aspx
Java中方法参数的传递方式:对象是传递引用,基本数据类型是传递值。
先看如下代码:
package demo;public class Test {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}public static void call(Test t) {Test t2 = new Test();t2.setName("cba");t.setName("abc");t = t2;}public static void main(String[] args) {Test obj = new Test(); call (obj) ; System.out.println("obj:"+obj.getName());}}输出结果为:obj:abc
分析如下:
总共构建了两个Test对象,假设称main方法构建的对象为“对象1”,call方法构建的对象为“对象2”,
在main方法中,变量obj获得了“对象1”的句柄,
在参数传递中,变量obj把这个句柄传递给变量t,
在call方法中,变量t首先改变了“对象1”的属性,然后变量t又获得了“对象2”的句柄(但obj仍然是“对象1”的句柄),
call方法返回后,由于“对象2”失去了唯一的句柄,不可避免的进入垃圾收集器的视线。而obj仍然是“对象1”的句柄,
由于“对象1”的属性已经被重新设置,所以我们可以看到打印出来的结果是“abc”。
- 关于"Java中方法参数的传递方式"的探讨
- 关于"Java中方法参数的传递方式"的探讨
- 详解java中给方法传递参数的两种方式:按值传递,引用传递
- 关于Java中方法调用时参数的传递
- 关于Java中方法调用时参数的传递
- 关于java中方法的参数传递问题
- 关于Java中方法调用时参数的传递
- 关于Java中方法调用时参数的传递
- java中参数传递的方式
- java中参数的传递方式
- 关于Java方法参数的传递问题
- 关于JAVA方法参数传递方式
- 关于java中参数传递的问题
- 方法的参数传递方式
- 方法传递参数的方式
- java中参数的传递方式【值传递】
- java中方法的参数传递机制
- java中方法参数的传递机制
- How Google Finds Your Needle in the Web's Haystack
- Rootkit Unhooker驱动逆向分析
- HP 安装XP系统
- 用filter 实现当session失效
- 透明度
- 关于"Java中方法参数的传递方式"的探讨
- i++和++i的区别
- 很有用JS技巧-打印js运行后的页面
- 感谢生活让我现在每一天的安宁
- 類圖設計的問題
- cursor:hand 与cursor:pointer
- 联动
- CUDA 之FAQ
- 将VS2005中文180天试用版升级到正式版的方法