美文网首页程序员Java
Java值传递和引用传递

Java值传递和引用传递

作者: 花伤情犹在 | 来源:发表于2020-09-29 01:04 被阅读0次

    一:弄清楚基本类型和引用类型的不同之处

    基本类型,值就直接保存在变量中

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

    值传递是对基本型变量而言的,传递的是该变量的一个副本,改变副本不影响原变量。

    引用传递一般是对于对象型变量而言的,传递的是该对象地址的一个副本, 并不是原对象本身 。

    一般认为,java内的基础类型数据传递都是值传递. java中实例对象的传递是引用传递。

    int number=99;

    String string="99";


    二:搞清楚赋值运算符(=)的作用

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

    对于引用类型 str,赋值运算符会改变引用中所保存的地址,原来的地址被覆盖掉。但是原来的对象不会被改变(重要)。

    如上图所示,“hello” 字符串对象没有被改变。(没有被任何引用所指向的对象是垃圾,会被垃圾回收器回收)

    int number=99;    ------->       int number=98;

    String string="99";    ----->    String string="98";

    相关文章

      网友评论

        本文标题:Java值传递和引用传递

        本文链接:https://www.haomeiwen.com/subject/itvduktx.html