:lol你的想法是对啊,你也没有想错,只不过你掉进了JAVA的坑里面去了.
JAVA中数据的类型按数据在内存的储存方法可以分成二大类,
一种是基本数据类型,保存在栈内存,变量直接保存的就是值,基本数据类型在传递的时候,传递的是值的副本
而int就是基本数据类型中的一种.
如在switchValue(x, y);方法的时候,会传递xy的值的副本另一个0,和一个1进来,并不是xy的本身,所以在
switchValue()方法中无论你怎么操作,都不会影响到mothed1()方法的xy值,所以在mothed1()打印的结果是原来的结果,但是在switchValue()方法中的xy的值则是已经更换过了的.所以错的不是你,是别人坑了你.
一种是引用数据类型,保存在堆内存,变量保存的只是引用,
对于引用类型,我说先不说了,就是和你原先想的是一样的,个人建议你还是好好加大马力看视频好了,看到后面老师就会说到这个问题的,看视频不要一下子就钻牛角尖,慢慢来.有看不懂的地方略过.
就像看书一样,粗看,精看,跳着看:lol
我代表程序员界欢迎你的到来. |