您的位置:首页 > 编程语言 > Java开发

java学习笔记15--引用传递

2013-06-07 00:05 549 查看
范例一

class Demo{
public int temp = 30;
}
public class T {

public static void main(String[] args) {
// TODO Auto-generated method stub
Demo d1 = new Demo();
d1.temp = 50;
System.out.println("fun()方法调用之前:"+d1.temp);
fun(d1);
System.out.println("fun()方法调用之后:"+d1.temp);
}
public static void fun(Demo d2){
d2.temp = 1000;
}
}


内存分析:



范例二

public class T {

public static void main(String[] args) {
// TODO Auto-generated method stub
String str1 = "hello";
System.out.println("fun()方法调用之前:"+str1);
fun(str1);
System.out.println("fun()方法调用之前:"+str1);
}
public static void fun(String s2){
s2 = "MLDN";
}

}


内存分析



范例三

class Demo{
String temp = "hello";
}
public class T {

public static void main(String[] args) {
// TODO Auto-generated method stub
Demo d1 = new Demo();
d1.temp = "world";
System.out.println("fun()方法调用之前:"+d1.temp);
fun(d1);
System.out.println("fun()方法调用之后:"+d1.temp);
}
public static void fun(Demo d2){
d2.temp = "MLDN";
}
}


内存分析



本程序与范例一的流程完全是一样的,范例二是特殊的,因为String是一个特殊的类,其内容不可改变。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: