传值调用和模拟按引用调用的区别

首先:

基本数据类型:8种 byte short int long (4种)  float double(浮点型)  boolea(布尔型) char(字符类型)

引用数据类型:class,interface,array 数组之类的

 

引用数据类型一定储存在堆当中,但是其变量名保存在栈当中储存着大量关于堆中数据的信息

当让数组名子之间直接相等,或者让class,interface创建的例子,让例子之间相等的时候,相当于是将其地址赋值在了一起:当对A例子进行操作的时候,实际上也会对B例子进行操作,两者之间相当与图中C和D之间的关系

但是当是基本数据类型进行赋值的时候,就是传值引用,

int A=30;

int B=A;

B=20;

其中对于B赋值不会影响到A的值

int [] A=new int[3];//在栈内存当中创建了一块内存 储存着A和指向三块int数组内存地址的堆内存

int [] B =A;

A[0]=30;//此时B[0]的值也变成了30

//在栈内存当中创建了一块内存储存着变量B和将A的地址赋值给了B当中,那么在堆内存当中,A和B指向和执行的是同一块内存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值