java中的值传递

Java中所有传递都是值传递,包括基本数据类型和引用类型。对于基本类型,传递的是值的副本;而对于引用类型,传递的是对象在堆内存中的地址副本,因此可以通过方法修改对象的内容,但不会改变原始引用的指向。特别地,字符串String的引用指向常量池中的内容,是不可变的。
摘要由CSDN通过智能技术生成

1.java中不存在引用类型传递,全部都是值传递。

下面从基本数据类型和引用数据类型两种角度进行说明

基本数据类型:比如说主函数有一个int a=10;要传入某方法public.....(int  b )中,就会把a的值复制一份传入给一个新的变量b,所以在方法中怎样对b修改都不会影响到a的值。也就是a的大小。

引用数据类型:比如说要向某个方法中传入一个对象,引用数据类型传递分为两个部分,引用变量和对象,这两个部分放在不同的地方,引用变量在栈中,而对象是放在堆内存中的,引用变量指向对象。传的时候会将引用变量的值复制一份传入给方法中,而引用变量的值也就是其所指向对象的地址,由于引用变量的值相同,也就是所指向地址值相同,所以可以在方法中修改引用变量执行对象的具体内容。值传递体现在无论怎样都不会改变引用变量的值,也就是引用变量所指向的地址。

注意引用类型String a=“abc”;这个a的值也是个地址,但是由于其对象“abc”是在常量池中存放的,所以这个是不可修改的。相当于a就对应着“abc”。

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值