我在看Petshop.Model.AccountInfo类时,发现前面加了一个:[Serializable],不知为什么要加这个属性,有什么用?

解决方案 »

  1.   

    书上给你抄下的:
       在类之前加标记一个属性[Serializable]。该属性指示其类将被序列化。序列是指将对象的实例状态存储到存储媒体的过程。
    在此过程中,先将对象的公共字段以及类的名称(包括类的程序集)转换为字节流,然后再把字节流写入数据流。在随后对对象进行
    反序列化时,将创建出与原对象完全相同的副本。
     
      

  2.   

    我不知道serialzable的其他实际作用,只知道在用viewstate存储时,如果自定义的model没有申明serializable的话是会报错的,一定要申明了才行。
      

  3.   

    不知道如何对struct进行序列化,老是报无法序列化会话状态的错误!能帮忙回答一下吗?谢谢!
      

  4.   

    Serializable的用处:
        
      java.io.Serializable是一个空接口,也就是说这个接口没有声明任何的方法,所以实现这个接口的类也就不需要实现任何的方法。   
        
      那么这个接口还有什么用处呢?   
        
      这个接口使得所有的实现它的类具有一个特殊的(mixin)类型,从而使JVM知道这个类可以安全地串行化。   
        
      这种没有声明任何方法的接口,叫做标示接口(er   interface)。标示接口是一种设计模式,感兴趣的读者可以参见《Java与模式》