class Demo{
int i = 10;
public static void value(Demo d){
d.i = 20;
Demo d1 = new Demo();
d = d1; //将d1所在内存空间的地址值传给d,即d便代表了d1,因为dl只是实例化对象了,并没有改变类中成员变量的值
System.out.println(d.i); //因而此打印出的是没有变化过的值10
}
public static void main(String [] args){
Demo d = new Demo();
value(d); //调用value函数 得出的值为10
System.out.println(d.i); //此处的d为这个主函数中的Demo d = new Demo(); 因为d中的成员值在调用value函数的时候被改成了20,所以打印出结果为20
}
}
|