/*
*方法的参数传递
1.形参:方法声明时,方法小括号里内的参数
实参:调用方法时,实际传入的参数的值
2.规则:java中的参数传递机制:值传递机制
1)形参是基本数据类型的:将实参的值传递给形参,实质是栈内存中新开辟了一块内存,存放实参的副本,副本的值和实参相同,对副本进行操作不影响实参。形参在方法结束后就被JVM回收了,栈内存中就不存在了
2)形参是引用数据类型的:将实参的引用类型的值(对应的堆空间的对象实体的首地址)传递给形参的引用类型变量,只是地址传给
*/
class TestJava
{
public static void main(String[] args)
{
TestJava tt=new TestJava ();//静态方法不能调用非静态的变量和方法,所以通过实例化对象来调用swap
DataSwap ds=new DataSwap();
System.out.println("ds.i:"+ds.i+" "+"ds.j:"+ds.j);
tt.swap(ds);
System.out.println("ds.i:"+ds.i+" "+"ds.j:"+ds.j);
System.out.println("实参ds的值为:"+ds);
}
public void swap(DataSwap d)
{
int temp=d.i;
d.i=d.j;
d.j=temp;
System.out.println("形参d的值为:"+d);//和实参ds的值相同
}
}
class DataSwap
{
int i=10;
int j=5;
}