一般情况下深拷贝比较容易,但是你这个是一个链表,但是构造函数又只有一个,而且要
提供链表的长度,所以相对比较麻烦,这里先获得链表长度,在重新构建链表. public Object clone() {
Snake obj = null;
try {
obj = super.clone();
}catch( CloneNotSupportedException e) {
e.printStackTrace();
}
return obj;
}

解决方案 »

  1.   

    可以这样实现: 
    public Object clone() {
    Snake obj = null;
    try {
               obj = super.clone();
    }catch( CloneNotSupportedException e) {
    e.printStackTrace();
    }
                      int n=1;
                      while(obj.next!=null) n++;
                      return new Snake(n,obj.ch);
    }
      

  2.   

    一种不用思考的方法:
    1. 写入 ObjectOutputStream
    2. 从 ObjectInputStream 读入