首先说明int a = 10;int b = 20;与方法中的参数int a,int b是不冲突的,这两者所处的空间不同
这里主要讲解的成员方法传递基本数据类型的机制
1.首先main方法会开辟一个栈空间,在main方法中把a = 10;b = 20传递给swap方法中定义的参数a,b,这里是值传递,互不影响
2.因为调用swap方法,然后在栈中再开辟一个临时的栈空间供swap方法使用,当swap方法结束时被回收
3.在swap方法中,首先a,b的值没变a = 10;b = 20,执行代码块,a,b交换,a = 20;b = 10
4.此时swap方法语句块执行完毕,obj.swap(a,b)这条语句结束,执行下一句,因为swap方法和main方法在栈中是两个不同的空间,所有最后一句执行的a,b仍然是执行的main方法中的a,b,所以a = 10;b = 20,它只是把值赋给了swap方法中的参数,a,b本身没变。