方法参数的值传递机制
1. 形参:方法定义时,声明的小括号内的参数
实参:方法调用时,实际传递给形参的数据的地址值
2. 值传递机制
如果参数是基本数据类型,此时实参赋给形参的是实参真实存储的数据值
如果参数是引用数据类型,此时实参赋给形参的是实参存储数据
package top.lay888.www.exer;
//关于变量的赋值
//如果变量是基本数据类型的,此时赋值的是变量所保存的数据值
//如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值。
public class ValueTransferTest {
public static void main(String[] args) {
System.out.println("******基本数据类型************");
int m = 10;
int n = m;
System.out.println("m= " + m + "," + "n= " + n);
n = 20;
System.out.println("m= " + m + "," + "n= " + n);
System.out.println("*********引用数据类型**********");
Order O1 = new Order();//在堆里开辟空间有一个内存地址值创造o1对象 此时orderId的初始值为0
O1.orderId = 1001;//给orderId赋值为1001
Order O2 = O1;//将 o1的地址值赋值给o2;指向同一个地址
System.out.println("O1.orderId= " + O1.orderId + ",O2.orderId= " + O2.orderId);
//此时的o1和o2都是1001
O2.orderId = 1002;//因为指向的地址都是一个地址值,改的是该地址值的数据
System.out.println("O1.orderId= " + O1.orderId + ",O2.orderId= " + O2.orderId);
//此时的o1和o2都是1002
}
static class Order {
int orderId;
}
}