对象的引用传递

所谓的引用传递就是将只想对内存的空间使用权交给多个占内存空间,下面通过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

 **/


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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值