您的位置:程序门 -> java -> j2se / 基础类



接口通常都是要由实现类重写方法中的所有方法,那么序列化接口是怎样进行的呢?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


接口通常都是要由实现类重写方法中的所有方法,那么序列化接口是怎样进行的呢?[已结贴,结贴人:haofengfu]
发表于:2007-07-07 10:57:52 楼主
一个类如果,实现了序列化接口,就可以进行序列化操作,而这个类里面并没有实现序列化接口的方法,这里面的机制是怎样的呢?
我私下里认为是jvm主动承担了这个工作,
能否请达人高屋建瓴的指导下?
发表于:2007-07-07 11:01:111楼 得分:10
发表于:2007-07-07 11:12:042楼 得分:40
首先   serializable   接口,没有任何方法,只是一个空接口。

若要让某一个类能用于序列化操作,就必须实现该接口,这一接口可以理解为是一个标记,告诉   jvm   这个类是可以被序列化的。
发表于:2007-07-07 11:18:403楼 得分:40
如果您问的是这个接口java.io.serializable的用处,而不是串行化本身的用处的话,请继续读:    
     
    java.io.serializable是一个空接口,也就是说这个接口没有声明任何的方法,所以实现这个接口的类也就不需要实现任何的方法。    
     
    那么这个接口还有什么用处呢?    
     
    这个接口使得所有的实现它的类具有一个特殊的(mixin)类型,从而使jvm知道这个类可以安全地串行化。    
     
    这种没有声明任何方法的接口,叫做标示接口(marker       interface)。标示接口是一种设计模式,感兴趣的读者可以参见《java与模式》      

------------------

其实就是告诉jvm该类的实例可以安全串行化
发表于:2007-07-07 21:29:054楼 得分:0
谢谢,我去看看java与模式
发表于:2007-07-07 21:38:485楼 得分:5
jf,
序列化后分配一个final的串
发表于:2007-07-08 11:58:576楼 得分:5
在java中,有的接口是标识接口,不需要需要实现任何方法,serializable   就是其中之一,还有randomaccess
发表于:2007-07-08 13:34:247楼 得分:0
我和楼主的想法一样。


快速检索

最新资讯
热门点击