目录
1、形参:方法定义时,声明的小括号内的参数
实参:方法调用时,实际传递给形参的数据
代码实现
package demo421.demo01;
public class Demo01 {
public static void main(String[] args) {
Demo01 demo01 = new Demo01();
demo01.first();
}
public void first(){
int i=5;
Value v = new Value();
v.i=5;
second(v,i);// 将v的地址传给second(Value v1)中的 v1,此时v1指向v的地址。
// 方法执行完之后,second方法中的 value 的地址被清除。所以输出的是v的i也就是 v1.i=20;
System.out.println(v.i);
}
public void second(Value v1,int i){
i=0;
v1.i=20;
Value value = new Value();
v1=value;
System.out.println(v1.i+","+i);
}
class Value{
int i=2;
}
}
结果
参考代码
内存图
结论
值传递机制:
如果参数是基本类型,此时实参赋给形参的是实参真实存储的数据值。
如果参数是引用类型,此时实参赋给形参的是实参存储数据的地址值。