引用传递

---------siwuxie095

   

   

   

   

   

引用传递:

参考链接1参考链接2参考链接3参考链接4

   

   

   

代码1

   

package com.siwuxie095.ref;

   

class Ref1{

int temp=10;

}

   

public class RefDemo01 {

   

public static void main(String[] args) {

Ref1 r1= new Ref1();

r1.temp=20;

System.out.println(r1.temp);

tell(r1);

System.out.println(r1.temp);

}

 

//引用传递

public static void tell(Ref1 r2) {

//r2在改变temp的值为30之前,和r1都指向了 20

r2.temp=30;

}

   

}

 

   

运行一览:

   

   

   

内存分析:

   

   

   

   

   

代码2

   

package com.siwuxie095.ref;

   

public class RefDemo02 {

   

public static void main(String[] args) {

String str1="hello";

System.out.println(str1);

tell(str1);

System.out.println(str1);

}

 

public static void tell(String str2) {

str2="jike";

}

   

}

   

   

运行一览:

因为String类型的数据是不可更改的

   

   

   

内存分析:

 

   

   

   

代码3:

   

package com.siwuxie095.ref;

   

   

class Ref3{

String temp="hello";

 

}

   

public class RefDemo03 {

   

public static void main(String[] args) {

Ref3 r1=new Ref3();

r1.temp="jike";

System.out.println(r1.temp);

tell(r1);

System.out.println(r1.temp);

}

   

public static void tell(Ref3 r2) {

r2.temp="xueyuan";

}

}

   

   

运行一览:

实际上是开辟了新的内存空间(与代码2对比)

   

   

   

内存分析:

   

   

   

   

   

【made by siwuxie095】

转载于:https://www.cnblogs.com/siwuxie095/p/6561275.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值