zoukankan      html  css  js  c++  java
  • java--值传递与引用传递

    1.实质:一切引用传递的本质上就是传值;

    2.基本类型与引用类型:

       int num=10;  num是基本类型,值就是直接保存在变量中。

      String str="hello"; str是引用类型,变量中保存的只是实际对象的地址,一般称这种变量为“引用”,引用指向实际对象,实际对象中保存着内容。

    3.搞清楚赋值运算符(=)的作用

     num = 20; 对于基本类型num,赋值运算符会直接改变变量的值,即原来的值会被覆盖掉。

    str = "java"; 对于引用类型str,赋值运算符会改变引用中保存的地址,原来的地址会被覆盖掉。但是原来的对象不会改变(重要),("hello"的字符串对象没有被改变,但是没有被任何引用指向的对象是垃圾,会被垃圾回收器回收。)。

    4.值传递,实质上就是复制一个实际参数的副本,将副本给你,调用的函数可以改变副本的值,但是原本的值并不会改变;

      引用传递,是指在调用函数时将实际参数的地址直接传递到函数中,那么在函数中对参数所进行的修改,将会影响到实际参数。

    5.本质区别:值传递和引用传递的区别并不是传递的内容,而是实参有没有被复制一份传给形参;

  • 相关阅读:
    linux kill命令以及 信号
    rhel7 系统服务——unit(单元)
    redis集群在线迁移
    二、主目录 Makefile 分析(3)
    二、主目录 Makefile 分析(2)
    二、主目录 Makefile 分析(1)
    一、文档目录分析
    Linux下解压缩
    设备树
    轮询
  • 原文地址:https://www.cnblogs.com/javasmf/p/13710339.html
Copyright © 2011-2022 走看看