6.Java参数传值原理以及对象的组合
文章目录
1.参数传值
参数传值是什么意思? 顾明思意,就是把一个变量的数值传给另一个变量。
比如:
int x = 10;
int y = x;
y = 20;
上面的操作是,首先给x赋值,然后将x的值赋给变量y。最后x=10,y=20;
那其中到底是怎么回事呢?
其实在这里的传值(即赋值)所用的值不是x的本值,而是它的拷贝(copy)。
所以不会影响x本来的值。参数y得到的值相当于生活中的”原件“”的“复印件“。
上面的操作其实就是给y开辟了新的内存空间然后将x的值复制到y的内存空间里,所以对y的操作不会对x有影响,这就是参数的传值原理。
同理,引用类型的参数的传的值是地址,地址的数值也是拷贝来的。但是对地址指向的内存空间并没有拷贝。
所以对这个引用类型进行操作会改变其属性,例如:
public class Main {
public static void main(String[] args) {
Person p = new Person();
p.age = 10;
System.out.println(p.age);
Person m = p;
m.age = 100;
System.out.println("m.age: "+m.age);
System

浙公网安备 33010602011771号