对象的引用传递

来源:互联网 发布:2014年双11淘宝交易额 编辑:程序博客网 时间:2024/05/21 22:46

所谓的引用传递就是将只想对内存的空间使用权交给多个占内存空间,下面通过3个范例来加深前面所学内容的理解。

1.范例一

class Demo{int temp =50;}public class Demo1 {public static void main(String[] args) {Demo d = new Demo();d.temp=60;System.out.println("调用fun方法之前:"+d.temp);fun(d);System.out.println("调用fun方法之后"+d.temp);}private static void fun(Demo d) {d.temp=100;}}/**结果 变了调用fun方法之前:60调用fun方法之后100*/

2.引用传递

public class Demo1 {public static void main(String[] args) {String str = "hello";System.out.println("调用fun方法之前:"+str);fun(str);System.out.println("调用fun方法之后:"+str);}private static void fun(String str2) {str2="java";}}
/**结果 没变
调用fun方法之前:hello调用fun方法之后: hello
*/

3.引用传递三

class Demo{
String str = "eclipse";
}
public class Demo1 {
public static void main(String[] args) {
Demo d= new Demo();
d.str = "hello";
System.out.println("调用fun方法之前:"+d.str);
fun(d);
System.out.println("调用fun方法之后: "+d.str);
}
private static void fun(Demo d2) {
d2.str="java";

}
}
/**结果变了
 * 调用fun方法之前:hello
 *调用fun方法之后: java

 **/


内存分布和第一个一样,大家可以好好看看。


原创粉丝点击