因为在java中并不调用对象使用引用,对象引用是通过值来传递的

解决方案 »

  1.   

    参见1. http://www.javaresearch.org/article/showarticle.jsp?column=1&thread=7062. http://www.javaresearch.org/article/showarticle.jsp?column=1&thread=3156
      

  2.   

    因为在java中并对象是通过引用来传递的
    你的第一个方法是:将m1的引用赋给temp,再将m2的引用赋给m1(其实在这儿就都指向m2了),再将temp的引用赋给m2,最后所有的对象都指向同一个引用m2.
    明白了吧!
      

  3.   

    public static void SwapTest1(MainTest m1,MainTest m2)
    {
           int i=m1.nTest;
           //MainTest temp = m1;
           m1.nTest = m2.nTest;
           m2.nTest=i;
           //m2 = temp;
    }