Java 方法参数的值传递机制
1.说明
关于变量的赋值
- 如果变量是基本数据类型,此时赋值的是变量所保存的数据值。
- 如果变量是引用数据类型,此时赋值的是变量保存的数据在堆中的地址值。
2.code举例
package com.javastudy.base;
public class ValueTransferTest {
public static void main(String[] args) {
System.out.println("****************基本数据类型赋值****************");
int i = 10;
int j = i;
System.out.println("i:" + i + ",j:" + j);
j = 20;
System.out.println("i:" + i + ",j:" + j);
System.out.println("****************引用数据类型赋值****************");
order o1 = new order();
System.out.println("o1的orderid是:" + o1.orderId);
o1.orderId = 10;
System.out.println("o1的orderid是:" + o1.orderId);
order o2 = new order();
// 将o1赋值给o2 只是将o1 在堆中的地址值赋值给了o2 此时对应同一份数据
o2 = o1;
o2.orderId = 30;
System.out.println("o2的orderid是:" + o2.orderId + ",o1的orderid是:" + o1.orderId);
}
}
class order{
int orderId;
}