看下我的程序片段        我的客户端部分代码
try {
            student = new Student();
            student.setNum(Emter_UML.stunum);
            assitclient = new AssitClient_OO(student);
            assitclient.setsituation(1);//这是用来标记situation值,然后服务器端根据是1 or 2产生不同的结果
            System.out.println(assitclient.CreateSql(assitclient));
            Emter_UML.client.SentInforToServer(assitclient);
            ArrayList<ArrayList<String>> personalinforArray = Emter_UML.client.GetInforFromServer();
            personalinfor = new AssitDBalpha();
            jlabel.add(jLabel9);
            jlabel.add(jLabel10);
            jlabel.add(jLabel11);
            jlabel.add(jLabel12);
            jlabel.add(jLabel13);
            jlabel.add(jLabel14);
            personalinfor.setjlabel(jlabel);
            personalinfor.setpersonalinfor(personalinforArray);
            basecourseinfor=new AssitDBalpha();      
            assitclient.setsituation(2);//重置situation的值
            Emter_UML.client.SentInforToServer(assitclient);
            ArrayList<ArrayList<String>> basecourseinforArray = Emter_UML.client.GetInforFromServer();
            basecourseinfor.setbasecourseinfor(jTable1, basecourseinforArray);
        } catch (IOException ex) {
            Logger.getLogger(DBa.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(DBa.class.getName()).log(Level.SEVERE, null, ex);
        }服务器端部分代码
else if (nameandpass instanceof AssitClient_OO) {
                    si = (AssitClient_OO) nameandpass;                    int situation = si.getsituation();
                    System.out.println("situ-Server:" + situation);//两次situation均为1                    if (situation == 1) {
                        String sql = "select *from lh.student_view " +
                            si.CreateSql(si);
                        System.out.println("SQL->:" + sql);
                        re = con.CreateResult(sql);                        ArrayList<ArrayList<String>> tempdata = this.getdatafromresult(re);
                        toclient.writeObject(tempdata);
                        toclient.flush();//toclient.reset();
                    }                    if (situation == 2) {
                        String sql = "select c_num,c_name,depart,c_gredit,teacher,time from lh.stu_sc2_view " +
                            si.CreateSql(si);
                        re = con.CreateResult(sql);                        ArrayList<ArrayList<String>> tempdata = this.getdatafromresult(re);
                        toclient.writeObject(tempdata);
                        toclient.flush();
                    }
                }
但是我在服务器端的得到的始终是一个相同的ArrayList<ArrayList<String>>,AssitClient_OO继承了序列化。。为什么两次发送不同的对象但在服务器端接受的是同一个对象呢???
   需要高手解答,或者自己举个小例子也可以的。。