1 这是标准的递归。 Snake(5,'a')-->Snake(4,'b')-->Snake(3,'c')--->Snake(2,'d')--->Snake(1,'e')--->null;
2 :a:b:c:d:e
3 : System.out.println("s = " + s);
    System.out.println("s2 = " + s2);
    System.out.println("after s.increment, s2 = " + s);
在此3处打印时自动调用toString(), 相当于
    System.out.println("s = " + s.toString());
    System.out.println("s2 = " + s2.toString());
    System.out.println("after s.increment, s2 = " + s.toString());
4 顺序执行,????
  

解决方案 »

  1.   

    谢谢!你说的我基本明白。但是还有一点要问!递归操作以后s里面保存的是:a:b:c:d:e吗?
    用c语法的观点应该是一个地址。那吗下面连续的地址空间是不是保存的是b:c:d:e吗?
      

  2.   

    递归操作以后s里面保存的是:a:b:c:d:e;用c语法的观点应该是一个地址。下面连续的地址空间是什么上帝才知道