Java中等于号,传值和传址区别

本文详细介绍了Java中等于号的两种作用,区分了传值和传址的区别。在Java中,等号用于数据赋值时实行传值,而在引用对象间则传递地址。通过自建类ListNode的例子,阐述了对象引用如何实现地址传递。同时,解释了传值(仅传递基本类型值的拷贝)和传址(传递对象引用地址)的概念,说明了在函数体内修改传入地址所指向对象数据会直接影响外部对象的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Java等号的两种作用

java的等于号在进行数据之间赋值时就是传值;在引用对象之间,等于号作用就是传地址。

比如自建类
ListNode xList=ListNode(0);
ListNode newList=xList;//这步用途,例子如下

  ListNode xList = new ListNode(0);//创建一个值为0的头部节点
  ListNode newList = xList;//声明一个变量用来在移动过程中指向当前节点!
      while(ture){//依次获取链表的值
           ListNode sumNode = new ListNode(10);//生成新的节点
           newList.next = sumNode;//把新节点连起来
           newList = newList.next;//当前节点往后移动
      }
  return xList.next;//这样子return的就是10-10...,而不是0-10-10...!

在这里等于号就是起到了地址传递的作用,此时b的指针指向了a的地址,b引用了a的地址,起到了传地址的作用。

2.传值和传址的区别

传值:传的是基本类型,通过参数传递给方法传的是值的拷贝,所以函数体内的值的变化,不会影响函数体外的值

传地址:传入的是对象的引用,通过参数传给方法,传的是地址的拷贝
如果在函数体内,改变传入地址所指向的对象数据,会影响函数体外的对象。可以这么去理解 :我把地址的内存,传给了方法,方法改变了内存中的内容,所以指向它的引用的值自然都会改变

3.例子

public class test {
/*
 * Car :类型(自定义类型)
 * c :引用某种对象,x=null,x没有指向任何对象
 * = :引用(指向、绑定)
 * new :JVM创建对象的命令
 * Car() :构造器--构造方法constructor
 */
	Car c = new Car(brand,color,price);
	
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值