zoukankan      html  css  js  c++  java
  • Java基础之:值传递与引用传递

    Java基础之:值传递与引用传递

    什么是值传递和引用传递

    1. 值传递: 在java中,对于基本数据类型(byte, short ,int ,long, float ,double ,char ,boolean), 在进行传递 (赋值 , 方法传参), 进行的是 值传递( 即:拷贝一份数据), 两份数据是独立的.

    2. 引用传递: 在java中,对于引用数据类型(对象,数组), 在进行传递时(赋值, 方法传参), 进行的是引用传递 (即:传递的是一个引用(地址), 不会拷贝一份引用指向的数据) , 这就是引用传递

    二者有什么区别

    1. 值传递 是 两个变量进行值传递时,因为是拷贝了一份独立数据,因此一个变量的修改,不会影响到另外一个 变量,比如 int n1 = 2; int n2 = n1; 这时 n1的变化,不会影响到 n2

    2. 引用传递 是 两个变量进行引用传递时, 因为传递的是引用(地址), 会让两个引用, 指向的是同一份数据空间, 因此,如果一个引用去修改它指向的数据, 则会影响到另一个引用指向的数据, 比如 Person p1 = new Person(); Person p2 = p1; p2.name = "tom"; 那么 p1.name 就会被修改成 tom

    3. 注意 一个引用的指向发生变化,不会影响到另外一个引用,比如:

      Person p1 = new Person();

      Person p2 = p1; p2 = null;

      对 p1 没有影响,仅将p2在栈空间中的内容置为null。

  • 相关阅读:
    Android 之 JSON操作
    android 之 XMLPull
    DOM 之 SAX操作
    android之DOM生成与解析
    parseDouble()方法
    读取遥感图像中遇到的问题集锦
    xml学习
    linux基础
    hadoop的基本概念 伪分布式hadoop集群的安装 hdfs mapreduce的演示
    【原】自定义tableViewCell的两种方法
  • 原文地址:https://www.cnblogs.com/SongHai/p/14069105.html
Copyright © 2011-2022 走看看