Java基础:值传递

1.Java中等于号左侧叫句柄,等于号右侧叫;句柄 = 值的地址(就是堆中的地址)

2.值传递(堆地址)和引用传递(传递栈的地址):
值传递:在方法被调用时,实参通过把他的内容副本传入方法内部,此时形参接收的内容是实参的一个拷贝,因此在方法内对实参的任何操作,都仅仅是对这个内容的副本进行操作,不影响原初始值的内容。值传递传递的是一个真实内容的副本,对副本的操作不影响原内容,也就是形参怎么变化,不影响实参对应的内容。

引用传递:"引用”也就是指向真实内容的地址值。在方法调用时,实参的地址通过方法调用被传递给相应的形参,在方法体内,形参和实参指向同一块内存地址,对形参的操作会影响原来的内容。

通俗点说:值传递传递的是值的地址(堆地址),引用传递传递的是栈地址;
Java中只有值传递,没有引用传递。

3.在方法内部声明的属性在new的时候都有默认值,而在方法外部声明的没有默认值;凡是在方法里面声明的变量,他的句柄都在栈中,在方法外部声明的变量,当new的时候都去了堆中。

4.对于基本数据类型,是在栈中开辟内存空间的,而引用数据类型不知道要开辟多大的内存空间,所以在堆中开辟内存空间。

5.当变量 = 字符串的时候,是需要在堆中新生成一个空间的。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值