Java基础之:值传递与引用传递
什么是值传递和引用传递
值传递: 在java中,对于基本数据类型(byte, short ,int ,long, float ,double ,char ,boolean), 在进行传递 (赋值 , 方法传参), 进行的是 值传递( 即:拷贝一份数据), 两份数据是独立的.
引用传递: 在java中,对于引用数据类型(对象,数组), 在进行传递时(赋值, 方法传参), 进行的是引用传递 (即:传递的是一个引用(地址), 不会拷贝一份引用指向的数据) , 这就是引用传递
二者有什么区别
值传递 是 两个变量进行值传递时,因为是拷贝了一份独立数据,因此一个变量的修改,不会影响到另外一个 变量,比如 int n1 = 2; int n2 = n1; 这时 n1的变化,不会影响到 n2
引用传递 是 两个变量进行引用传递时, 因为传递的是引用(地址), 会让两个引用, 指向的是同一份数据空间, 因此,如果一个引用去修改它指向的数据, 则会影响到另一个引用指向的数据, 比如 Person p1 = new Person(); Person p2 = p1; p2.name = "tom"; 那么 p1.name 就会被修改成 tom
注意 一个引用的指向发生变化,不会影响到另外一个引用,比如:
Person p1 = new Person();
Person p2 = p1; p2 = null;
对 p1 没有影响,仅将p2在栈空间中的内容置为null。
原文转载:http://www.shaoqun.com/a/494473.html
telegram:https://www.ikjzd.com/w/1734
cima是什么:https://www.ikjzd.com/w/1372
sgshop:https://www.ikjzd.com/w/1982
Java基础之:值传递与引用传递什么是值传递和引用传递值传递:在java中,对于基本数据类型(byte,short,int,long,float,double,char,boolean),在进行传递(赋值,方法传参),进行的是值传递(即:拷贝一份数据),两份数据是独立的.引用传递:在java中,对于引用数据类型(对象,数组),在进行传递时(赋值,方法传参),进行的是引用传递(即:传递的是一个引用(
腾邦:腾邦
心怡科技:心怡科技
暑假去福建泰平洋水上广场好玩吗?:暑假去福建泰平洋水上广场好玩吗?
【捷克旅游简介】--捷克旅游介绍:【捷克旅游简介】--捷克旅游介绍
义乌到浦江仙华山有多远?义乌到浦江仙华山怎么走?:义乌到浦江仙华山有多远?义乌到浦江仙华山怎么走?
No comments:
Post a Comment