首页 > 其他分享 >按值传递

按值传递

时间:2024-07-14 14:54:42浏览次数:5  
标签:name age 调用者 传递 引用 变量 按值

  • 值传递:当一个参数按照值的方式在两个方法之间传递时,调用者和被调用者其实是用的两个不同的变量——被调用者中的变量(原始值)是调用者中变量的一份拷贝,对它们当中的任何一个变量修改都不会影响到另外一个变量

  • 引用传递: 当一个参数按照引用传递的方式在两个方法之间传递时,调用者和被调用者其实用的是同一个变量,当该变量被修改时,双方都是可见的

public static void main(String[] args) {
    // age 是基本类型,值就保存在变量中
    int age = 18;
    // name 是引用类型,变量中保存的是对象的地址;引用存放在栈中,而对象存放在堆中
    String name = "二狗";

    // 对于基本类型 age,赋值运算符会直接改变变量的值,原来的值被覆盖
    age = 12;
    // 对于引用类型 name,赋值运算符会改变对象引用中保存的地址(由指向二狗变为指向铁蛋)
    // 原来的地址被覆盖,但原来的对象不会被覆盖。
    name = "铁蛋";
}
  • Java中的参数传递是按值传递的。
  • 如果参数是基本类型,传递的是基本类型的字面量值的拷贝
  • 如果参数是引用类型,传递的是引用的对象在堆中地址的拷贝

标签:name,age,调用者,传递,引用,变量,按值
From: https://www.cnblogs.com/sprinining/p/18301565

相关文章

  • 在Vue中,子组件向父组件传递数据
    在Vue中,子组件向父组件传递数据通常通过两种方式实现:事件和回调函数。这两种方式允许子组件与其父组件进行通信,传递数据或触发特定的行为。1.通过事件传递数据子组件可以通过触发自定义事件,并将数据作为事件的参数来向父组件传递数据。子组件:<template><div>......
  • 动态添加HTML时onclick函数参数传递
    onclick函数动态传参1.参数为数值类型时:var tmp=123;var strHTML="<divonclick=func(" +tmp+")>点击弹出数据及其类型</div>";info.append(strHTML); function func(tmp){    alert(typeof tmp+"" +tmp);}string12......
  • 2024年华为OD机试真题-传递悄悄话-C++-OD统一考试(C卷D卷)
    2024年OD统一考试(D卷)完整题库:华为OD机试2024年最新题库(Python、JAVA、C++合集) 题目描述:给定一个二叉树,每个节点上站着一个人,节点数字表示父节点到该节点传递悄悄话需要花费的时间。初始时,根节点所在位置的人有一个悄悄话想要传递给其他人,求二叉树所有节点上的人都接收到悄......
  • Golang 切片作为函数参数传递的陷阱与解答
    作者:林冠宏/指尖下的幽灵。转载者,请:务必标明出处。GitHub:https://github.com/af913337456/出版的书籍:《1.0-区块链DApp开发实战》《2.0-区块链DApp开发:基于公链》例子切片作为函数参数传递的是值用来误导切片作为函数参数传递的是引用函数内切片append引起......
  • t-on-click 传递参数
    xml:<buttonclass="btnbtn-outline-primarym-1"t-on-click="()=>this.runtask('MM离线文件')">MM离线文件</button>  js/**@odoo-module**/import{registry}from"@web/core/registry";import{Layout}f......
  • HarmonyOS NEXT开发实战:Navigation页面跳转对象传递案例
    介绍本示例主要介绍在使用Navigation实现页面跳转时,如何在跳转页面得到转入页面传的类对象的方法。实现过程中使用了第三方插件class-transformer,传递对象经过该插件的plainToClass方法转换后可以直接调用对象的方法,效果图预览使用说明从首页进入本页面时,会传递一个类对......
  • go return 的时候传递参数给defer
    在Go语言中,defer语句用于延迟执行一个函数直到包含它的函数体执行完毕。在使用defer时,函数的参数会在defer语句执行时被计算,并且函数调用会被延迟执行。如果你希望在函数返回时调用defer语句,并且想要传递一些参数给defer延迟调用的函数,你可以通过将这些参数先保存在变量中,然后在d......
  • 001,函数指针是一种特殊的指针,它指向的是一个函数地址,可以存储函数并作为参数传递,也可
    函数指针是一种特殊的指针001,函数指针是一种特殊的指针,它指向的是一个函数地址,可以存储函数并作为参数传递,也可以用于动态绑定和回调函数文章目录函数指针是一种特殊的指针前言总结前言#include<iostream>usingnamespacestd;intadd(inta,intb){ return......
  • Linux开发:进程间通过Unix Domain Socket传递数据
    进程间传递数据的方式有很多种,Linux还提供一种特殊的Socket用于在多进程间传递数据,就是UnixDomainSocket(UDS)。虽然通过普通的Socket也能做到在多进程间传递数据,不过这样需要通过协议栈层的打包与拆包,未免有些浪费效率,通过UDS,数据仅仅通过一个特殊的sock文件就可以进行传递。......
  • C#基础:引用传递的关键字ref和out
    在平时的编码过程中,如果我们需要调用一个函数,对一个变量进行一系列的操作,那么我们可以使用值传递和引用传递两种方法。下面我举一个简单的例子:publicstaticvoidMain(string[]args){intnumber=5;Console.WriteLine("numbervalue="+number);numb......