一般我们在定义entity包下面的类的时候,都要实现一个Serializable接口.
例如
public class implements Serializable
{
    // 这里是一个L类型的数字
    ...
}
这有什么用啊?
这个接口没有提供任何方法,我们实现它有什么意义呢?还有就是,在一些抽象类/接口中,常使用Serializable做参数类型,比如public interface EntityDao<T>
{
    T getEntityById(Serializable id);
}
似乎Serializable能代替String, int, Long...等成为一个更具普遍性的参数类型??

解决方案 »

  1.   

    网络传输,保存,比如你把一个对象保存到txt文件中就需要序列化
      

  2.   

    Serializable 是序列化
    它有一个id 那个是全球唯一标识
    用于区分 bean 对象
    兄弟 希望对你有帮助哦
    ^_*
      

  3.   

    Mark,我也想知道!!!面试就问过这问题!!
      

  4.   

    Serializable接口中没有任何方法,一个类实现这个接口只是表明这个类已经被序列化了常用于将文件流的操作,这样可以将一些数据写入文件。Hibernate中实体也实现这个接口,意思是将实体类持久化,将数据表转化成对象,这样对数据库进行操作。
      

  5.   

    说直接点就是
    实现了序列化接口的
    就能使用ObjectOutputStream和ObjectInputStream操作对象了
      

  6.   

    这个主要就是实现java序列化.
      

  7.   

    如果不实现这个接口,就不能在网络上传递!不能使用RMI!
      

  8.   

    Serializable接口中没有任何方法,主要是用来标识一下对象,以方便网络传输(比如用ObjectInputStream 和 ObjectOutputStream),然后在Hibernate中的持久类也要实现该方法。
      

  9.   

    传输时流化对象 一般持久化时使用,javabean通常都要实现的接口吧!
      

  10.   

    类通过实现 java.io.Serializable 接口以启用其序列化功能。未实现此接口的类将无法使其任何状态序列化或反序列化。可序列化类的所有子类型本身都是可序列化的。序列化接口没有方法或字段,仅用于标识可序列化的语义。
      

  11.   

    public static void uploadObject(String path)throws Exception{
    File file=new File("object.txt");
    FileOutputStream out=new FileOutputStream(file);
    ObjectOutputStream oos=new ObjectOutputStream(out);
    QQ q=new QQ("lusi","male");
    QQ q2=new QQ("sss","ss");
    oos.writeObject(q);
    oos.writeObject(q2);
    oos.close();
    }
    如果QQ没有被标示为可序列化,就会报异常java.io.NotSerializableException:
      

  12.   

    也可以用作深拷贝复制对象,实现clone()方法。
      

  13.   

    被序列化的对象是以特殊的文件格式存储对象数据的。
    被序列化的对象可以从一个jvm传输到另一个jvm上,然后目标jvm进行反序列化并使用。
      

  14.   

    好像是说实现了这个接口就可以跨JVM访问
    也不知道对不